ユニファイド ディープリンク(UDL)
UDLのプライバシー保護
For new users, the UDL method only returns parameters relevant to deferred deep linking:
deep_link_value
anddeep_link_sub1
todeep_link_sub10
. If you try to get any other parameters (media_source
,campaign
,af_sub1-5
, etc.), they returnnull
.
UDLのフロー
- SDKが以下によってトリガーされます:
- Deferred Deep Linking - 専用APIを使用してトリガーされます。
- Direct Deep Linking - Android App Links, iOS Universal Links, またはURIスキームを介してOSによってトリガーされます。
- The SDK triggers the
OnDeepLink
method, and passes the deep link result object to the user. - The
OnDeepLink
method uses the deep link result object that includes thedeep_link_value
and other parameters to create the personalized experience for the users, which is the main goal of OneLink.
注意事項
- AppsFlyer Android SDK v6.1.3以降の実装
- SRNキャンペーンには対応していません。
- For new users, the UDL method only returns parameters relevant to deferred deep linking:
deep_link_value
anddeep_link_sub1-10
他のパラメータ(media_source, campaign, af_sub1-5 など)はすべて次のようにレスポンスを戻します:null
. onAppOpenAttribution
はコールされません。すべてのコードは次のメソッドに移管する必要があります:OnDeepLink
.OnDeepLink
は、必ず次のメソッドの後にコールします:initSDK
.AppsFlyer.cs
はゲームオブジェクトにアタッチする必要があります。
実装
- AppsFlyer init(初期化)コードと一緒に
AppsFlyer.cs
をゲームオブジェクトに添付します。(AppsFlyerObject) - Call initSDK with the
this
parameter in order for theOnDeepLinkReceived
callback to be invoked:AppsFlyer.initSDK("devkey", "appID", this);
- Start () の AppsFlyer.OnDeepLinkReceived に on DeepLink をアサインします。
AssignOnDeepLink
toAppsFlyer.OnDeepLinkReceived
inStart()
AppsFlyer.OnDeepLinkReceived += OnDeepLink;
- >
initSDK()
の後ろに次のメソッドを実装します:OnDeepLink
.
例
using AppsFlyerSDK;
public class AppsFlyerObjectScript : MonoBehaviour
{
void Start()
{
AppsFlyer.initSDK("devkey", "appID", this);
AppsFlyer.OnDeepLinkReceived += OnDeepLink;
AppsFlyer.startSDK();
}
void OnDeepLink(object sender, EventArgs args)
{
var deepLinkEventArgs = args as DeepLinkEventsArgs;
switch (deepLinkEventArgs.status)
{
case DeepLinkStatus.FOUND:
if (deepLinkEventArgs.isDeferred())
{
AppsFlyer.AFLog("OnDeepLink", "This is a deferred deep link");
}
else
{
AppsFlyer.AFLog("OnDeepLink", "This is a direct deep link");
}
// deepLinkParamsDictionary contains all the deep link parameters as keys
Dictionary<string, object> deepLinkParamsDictionary = null;
#if UNITY_IOS && !UNITY_EDITOR
if (deepLinkEventArgs.deepLink.ContainsKey("click_event") && deepLinkEventArgs.deepLink["click_event"] != null)
{
deepLinkParamsDictionary = deepLinkEventArgs.deepLink["click_event"] as Dictionary<string, object>;
}
#elif UNITY_ANDROID && !UNITY_EDITOR
deepLinkParamsDictionary = deepLinkEventArgs.deepLink;
#endif
break;
case DeepLinkStatus.NOT_FOUND:
AppsFlyer.AFLog("OnDeepLink", "Deep link not found");
break;
default:
AppsFlyer.AFLog("OnDeepLink", "Deep link error");
break;
}
}
}
更新済 約1ヶ月前