よくある質問(FAQ)
SDK関連
ゲームをアップデートするたびにTentuPlay SDKも更新する必要がありますか?
毎回更新する必要はありませんが、アップデートによってビジネスモデルが変わる場合は、TentuPlayテクニカルサポートに連絡してサポートを受けることをお勧めします。
SDKが正しく実装されたかどうかを検証するQAプロセスはありますか?
データ収集とアップロード実装に関するデバッグ作業があります。収集したデータのデバッグをご覧ください。同時にTentuPlayテクニカルサポートでサーバーに問題がないかを常にチェックしています。
収集したデータのデバッグ現在TPStashEvent
クラスで一部パラメータのデータ型(例:currency)がfloatになっていますが、入力データがfloatの範囲を超えると、どうなりますか?データのアップロードによって特定メソッドに誤ったデータが保存されると、他のメソッドのデータにも影響を与えますか?
内蔵された型変換が正しく動作する場合は型変換を行ってください。ただし、この場合はオーバーフローが発生するため、次のように追加でデータ処理を行う必要があります。
-
floatの範囲:1.40129846432481707e-45 ~ 3.40282346638528860e+38
-
doubleの範囲:1.7e-308 ~ 1.7e+308
値が10^38を超えるとオーバーフローが発生し、値が無限大になってエラーが発生します。この場合は入力値のログを取得する方法がありますが、この方法にはログ形式でコンソールに値が表示されるという欠点があります。
2つ目の質問については例えばGetCurrency
のいずれかのデータがデータ型の範囲を超えると、GetCurrency
のデータはTentuPlayサーバーにアップロードされなくなります。しかし、他のメソッド(例:UseCurrency
)には影響を与えずに正常にデータがアップロードされます。
設定でAuto Uploadをチェックした状態でプレイヤーが次回のアップロード時間前にアプリを閉じてしまうと、直前までに収集されたデータはどうなりますか?
アップロード時間までに収集したデータはプレイヤーのデバイスに保存され、ゲームを再開したときに再度アップロードされます。これを防ぐためにアップロード間隔を短く設定することも可能ですが、逆に頻繁にアップロードを行うことによる影響(例:データ送信時の負荷増加)が発生する可能性があります。
TPStashEventクラスはどのくらいの頻度で呼び出すべきですか?
TPStashEventクラスが使われる仕組みは次の通りです。**Auto Upload**が選択されている場合、頻繁に呼び出しが発生するイベントに対してnew TPStashEvent()
クラスで必要なメソッドを呼び出すと、アップロード間隔に応じて自動的にアップロードが行われます。(例:財貨の獲得と使用時の収集メソッドをそれぞれnew TPStashEvent().GetCurrency()
、new TPStashEvent().UseCurrency()
で呼び出す)例えばnew TPStashEvent()
をプレイ開始時にのみ呼び出す場合、プレイ中に収集データがアップロードされることはありません。
データが正しくアップロードされたかどうかを確認するコールバックはありますか?
現在そのようなコールバック関数は用意されていませんが、アップロードが成功すると、TentuPlayデバッグモードで"TPDebug||Upload successful"というメッセージがUnityコンソールに表示されます。
アップロードが失敗しても収集したデータは次回のゲームプレイまでにプレイヤーのデバイスに残ります。
SDKの状態をコンソールで確認するとPlayerGetCharacter
イベントがJoin
イベントの後に常に表示されますが、これは正常ですか?
はい、正常です。Join
の直後にPlayerGetCharacter
が自動的に呼び出されるように設計されています。
ドキュメントにはTPStashEvent.Join
がユーザー登録に使われると書かれていますが、登録済みのユーザーかどうかを確認する方法はありますか?(登録状況によってJoin
とLogin
の両方を呼び出すか、またはLogin
のみを呼び出したい)
TentuPlayは呼び出したものすべてをアップロードするだけでTentuPlayで特定のユーザーが登録済みかどうかを確認することはできません。多くのゲームではTPStashEvent.Join
を最初のワンタイムイベント(例:Googleアカウントでログイン)として呼び出します。