ID の再利用や正しくない検証子が見られる場合、コールバック URL は Tapjoy からのものではなく、不正と見なす必要があります。
ユーザー ID に整数のみが含まれている場合は、簡単な検証を実行して、ユーザー ID が改ざんされていないことを確認することをお勧めします。例えば、Tapjoy は "001234" と "1234" の 2 つを別のユーザー ID と見なしますが、バックエンドサーバーロジックでは別と見なさない可能性があります。
アプリケーションごとに個別の秘密鍵が必要です。すべてのアプリケーションに同じ秘密鍵を使用しないでください。あるアプリケーションでユーザーに報酬を与えると、別のアプリケーションでもユーザーに報酬を与える状況が発生する可能性があります。また、上記の ID は currency_id ではなく request_id を表します。
改良されたコールバック URL
より多くの情報が含まれ、セキュリティが強化されるように、上記のコールバックを改良しました。この改良バージョンを使用したい場合は、このバージョンのコールバックを有効にするようアカウントマネージャーまたはサポートチームに連絡してください。ユーザーがオファーを完了して通貨を獲得したら、入力した URL に POST リクエストを行います。パラメーターの形式は以下のとおりです。
自己管理通貨を使用している場合は、ユーザー ID を設定することが非常に重要です。この値は、コールバック URL で
snuid
に設定されている値です。コンテンツがリクエストされる前に、接続時に接続フラグを使用してユーザー ID を設定することをお勧めします。正しく設定しないと、ユーザーに報酬が与えられず、自分にも支払いが発生しなくなります。ユーザー ID は一意のユーザー ID (通常は数字) に設定する必要があります。データセキュリティと GDPR への準拠の目的で、setUserID パラメーターにはユーザー名、本名、E メールアドレスなど、認識可能および識別可能な情報を入れないでください。 セキュリティと不正検出の目的で、ユーザー ID はユーザーの生存期間を通じて定数にする必要があります。(例えば、ユーザーのレベルやスコアなどの情報の伝達にユーザー ID パラメーターを使用しないでください。)ユーザー ID は、最大 190 文字まで使用できます。以下のプラットフォーム固有のコードサンプルは、接続フラグの使用方法と、必要に応じて
setUserID
API を (接続後に) 直接呼び出す方法を示しています。API を直接呼び出す場合は、コールバックを使用して ID が正しく設定されていることを確認します。可能な場合は接続フラグを使用することを強くお勧めします。
// Recommended approach using connect flagNSDictionary *connectFlags = @{TJC_OPTION_USER_ID : @"<USER_ID_HERE>"};[Tapjoy connect:@"SDK_KEY_GOES_HERE" options:connectFlags];// Setting the user id directly[Tapjoy setUserIDWithCompletion:@"<USER_ID_HERE>" completion:^(BOOL success, NSError *error) {}];
// Recommended approach using connect flag Hashtable<string, object> connectFlags = new Hashtable<string, object> (); connectFlags.put(TapjoyConnectFlag.USER_ID, "<USER_ID_HERE>"); // Important for self-managed currencyTapjoy.connect(getApplicationContext(), "SDK_KEY_GOES_HERE", connectFlags, new TJConnectListener() {...});// Setting the user id directlyTapjoy.setUserID("<USER_ID_HERE>", new TJSetUserIDListener() { @Override public void onSetUserIDSuccess() { } @Override public void onSetUserIDFailure(String error) { }});
// Recommended approach using connect flag Dictionary<string,string> connectFlags = new Dictionary<string,string>(); connectFlags.Add("TJC_OPTION_USER_ID", "<USER_ID_HERE>");#if UNITY_ANDROIDTapjoy.Connect("your_android_sdk_key", connectFlags);#elif UNITY_IOSTapjoy.Connect("your_ios_sdk_key", connectFlags);#endif// Callbacks for SetUserIDTJPlacement.OnSetUserIDSuccess += HandleOnSetUserIDSuccess;TJPlacement.OnSetUserIDFailure += HandleOnSetUserIDFailure;// Setting the user id directlyTapjoy.SetUserID("<USER_ID_HERE>")
// Recommended approach using connect flagtry { let flags: object = { TJC_OPTION_USER_ID: '<userId>' }; await Tapjoy.connect('<sdk_key>', flags);} catch (error) { console.log(error);}// Setting the user id directlytry { await Tapjoy.setUserId('<userId>');} catch (error) { console.log(error);}
その他の例は、iOS、Android、Unity、および React Native のクイックスタートページにがあります。トラブルシューティング: setUserID を呼び出しているときに、コールバック URL の snuid が期待どおりの値でない場合は、ユーザーがアプリ内 Offerwall または tapjoy.com にアクセスしてオファーを完了する前に、setUserID を呼び出す必要があります。デバイスに関連付けられている userID がない場合、Tapjoy はコールバック URL にデバイス ID を snuid として送信します。例えば、ユーザーはアプリを起動し、アプリが userID を送信する前に Tapjoy.com にアクセスすることができます。これを防ぐには、接続呼び出し後に起動のたびに setUserID が呼び出されるようにする必要があります。ユーザー ID を設定していない場合、システムは利用できる中で最も適切なデバイス ID を使用しようとします。ほとんどの場合、これはデバイスの広告 ID になります。ただし、SDK のバージョン、デバイスのモデル/バージョン、デバイスの OS バージョン、Google Play 開発者サービスによって、正確な ID は異なる場合があります。その他の利用可能な値には、Android ID、udid、mac_address があります。