SDKの設定

カスタムオファーを使用するために必要なSDKの設定方法を見てみましょう。本ページは次のように構成されています。

  • 必要環境

  • 関連コントローラー、クラス、メソッド

  • Unity EditorのSDK設定方法

  • オファー UIコンポーネントとスクリプト

始める前に

始める前に以下の作業が完了していることを確認してください。

関連コントローラー、クラス、メソッドの紹介

TPPersonalizedOffeControllerShowOfferById またはShowLatestOfferメソッドを呼び出す場合、各プレイヤー(player_uuid)別のオファーを動的に呼び出してSceneに表示します。

  • ShowOfferByIdShowLatestOfferTPPersonalizedOffer クラスのメソッドです。

  • TPPersonalizedOfferはTentuPlayのカスタムオファーとAIショップを出力するためのクラスです。

これらのコンポーネント(コントローラー、クラス、メソッド)はカスタムオファーとAIショップで共通的に使われます。

Unity Editor側の設定

オファーを正しく表示させるには、まずUnity Editor側の設定とスクリプト作業が必要となります。

  1. Unity Editor で Assets/TentuPlay/TPPersonalizedOfferTemplates にある TPPersonalizedOfferController.prefab のパスを確認します。 TPPersonalizedOfferController.prefab のコンポーネントに TPPersonalizedOfferController.cs スクリプトが含まれています。

    400
    400
  2. TPPersonalizedOfferController ゲームオブジェクトをSceneに追加します。

    image (25)
  3. 下記のサンプルコードのように tpPersonalizedOfferController GameObjectパラメータの値を使い、ShowOfferById またはShowLatestOfferを呼び出します。

    サンプルコード
    public void ShowPersonalizedOffer()
        {
            TPPersonalizedOffer myTPOffer = new TPPersonalizedOffer();
            StartCoroutine(
                myTPOffer.ShowOfferById(tpPersonalizedOfferController, player_uuid, "en", offer_id, (response => { })));
        }

    詳しいサンプルはAssets/ShingGoongDemo/Scripts/TentuplayRelated/TentuPlayCRMPlayerController.csAssets/ShingGoongDemo/Scripts/TentuplayRelated/MailBoxOpen_offer.cs をご覧ください。

  4. これで指定した条件下でサンプルオファーがゲーム画面に表示されるようになります。

    image (10)
    カスタムオファーがメールボックスに作成された場合の例
    image (11)
    カスタムオファーが画面に表示された場合の例

カスタムオファーとAIショップオファーは OfferInfo.offerTypeで区別されます。

オファーUI

カスタムオファーのUIコンポーネントの種類とUnity内のパスについて説明します。

UIテンプレート

ShowOfferById またはShowLatestOfferが呼び出されると、Scene上のTPPersonalizedOfferControllerTPPersonalizedOfferController.ShowOffer)のチャイルドとして TentuPlayManualOffer_landscape またはTentuPlayManualOffer_portraitが作成されます。

TentuPlayコンソールで指定した画像がOfferImageのTexture/Raw Imageになります。

image (27)
TPPersonalizedOfferControllerのチャイルドとしてTentuPlayManualOffer_landscapeが作成された場合の例

UIテンプレートのコンポーネント

カスタムオファーUIの代表的なプレハブであるTentuPlayManualOffer_landscape.prefabについて詳しく説明します。

06 TentuPlayManualOffer landscape gui

  • MessageController:メモを開いたり閉じたりするためのスクリプト

  • TentuPlayManualOffer:カスタムオファーのためのTentuPlayスクリプト

07 TentuPlayManualOffer landscape scripts

メッセージの画像(OfferImage

GUI スクリプト

08 OfferImage gui

TentuPlayコンソールで画像サイズを指定(580×896px)しても、OfferImageで指定したサイズが優先されます。

向き別画面サイズの初期値は以下の通りです。

  • TentuPlayManualOffer_landscape: 640x400

  • TentuPlayManualOffer_portrait: 400x640

On Click()TentuPlayManualOffer.GoToOfferEvent

09 OfferImage Scripts

閉じるボタン(CloseButton

GUI スクリプト

10 CloseButton gui

On Click()TentuPlayManualOffer.CloseOfferEvent

11 CloseButton scripts

「今日は表示しない」 チェックボックス

GUI スクリプト

12 Toggle gui

On Value ChangedTentuPlayOffer.CheckDoNotShowToday

11 CloseButton scripts

「今後表示しない」 ボタンに変更する場合、MarkDoNotShowAgain メソッドを利用するように修正してください。

オファーの検証

TentuPlayにはセキュリティのためにオファー検証APIが用意されています。オファーID認証と整合性チェックにより、オファーを送信する際に発生し得る改ざんやデータの破損を防ぐことができます。

詳しくは オファー検証APIをご覧ください。