OneSignalは、100万人以上の開発者とマーケターが利用する、高機能なプッシュ通知・アプリ内メッセージ配信プラットフォームです。
OneSignalは、世界中で毎日80億件のメッセージを配信しています。優れたアーキテクチャと使いやすいプラットフォームを基盤に、世界のほかのソリューションよりも高速かつ効率的に、より大規模なメッセージ配信を実現します。詳細はonesignal.comをご覧ください。
重要
一部のメディアソースは、第三者へのデータ共有を制限しています。そのため、制限対象のイベントのポストバックは、送信設定にかかわらず、このパートナーには送信されません。
OneSignalの設定
OneSignalと連携するには、アプリのAppsFlyer SDKに数行のコードを追加し、AppsFlyerで連携を有効にします。
AppsFlyer SDKの設定
AndroidでOneSignalと連携するには、OneSignal Player ID(OneSignalでユーザーを一意に識別するID)をAppsFlyer Android SDKに設定する必要があります。このパラメータはすべてのポストバックに含まれ、ユーザーの識別に使用されます。
AppsFlyer Android SDKを設定するには、次の手順に従います。
- SDKのバージョンが2.3.1.18以降であることを確認します。
- 以下のコードをアプリに追加します。OneSignal SDKの起動後、AppsFlyer SDKの初期化コードより前に追加してください。
-
OneSignal SDKバージョン3.x.xを使用するAndroidデバイスの場合:
OSPermissionSubscriptionState status = OneSignal.getPermissionSubscriptionState(); String deviceId = status.getSubscriptionStatus().getUserId(); customData.put("onesignalCustomerId", deviceId); -
Unity SDKの場合:
var status = OneSignal.GetPermissionSubscriptionState(); String deviceId = status.subscriptionStatus.userId; customData.put("onesignalCustomerId", deviceId); -
OneSignal Native SDKバージョン4以降を使用するAndroidデバイスの場合:
OSDeviceState device = OneSignal.getDeviceState(); String deviceId = device.getUserId(); customData.put("onesignalCustomerId", deviceId);
-
AppsFlyer iOS SDKを設定するには、次の手順に従います。
- SDKのバージョンが2.3.1.18以降であることを確認します。
- 以下のコードをアプリに追加します。OneSignal SDKの起動後、AppsFlyer SDKの初期化コードより前に追加してください。
-
OneSignal SDKバージョン2.x.xを使用するiOSデバイスの場合:
Swift
let status: OSPermissionSubscriptionState = OneSignal.getPermissionSubscriptionState() if let deviceId = status.subscriptionStatus.userId{ customData.put("onesignalCustomerId", deviceId);Objective-C
OSPermissionSubscriptionState* status = [OneSignal getPermissionSubscriptionState]; NSDictionary* CustomDataMap = [[NSDictionary alloc] initWithObjectsAndKeys:status.subscriptionStatus.userId, @"onesignalCustomerId", nil]; [[AppsFlyerLib shared] setAdditionalData:CustomDataMap]; -
OneSignal Native SDKバージョン3以降を使用するiOSデバイスの場合:
Swift
if let deviceState = OneSignal.getDeviceState() { let deviceId = deviceState.userId customData.put("onesignalCustomerId", deviceId);Objective-C
OSDeviceState *deviceState = [OneSignal getDeviceState]; NSString *deviceId = deviceState.userId; NSDictionary* CustomDataMap = [[NSDictionary alloc] initWithObjectsAndKeys:deviceId, @"onesignalCustomerId", nil]; [[AppsFlyerLib shared] setAdditionalData:CustomDataMap];
-
前提条件:パートナーのアカウントが必要です。アカウントがない場合は、連携を設定する前にパートナーに連絡し、アカウントを開設してください。
新しく連携を設定するには、以下の手順を実施します。
- AppsFlyerで、[連携>パートナー連携>マーケットプレイス]タブに移動します。
(既存の連携を編集する場合:[連携>パートナー連携>有効な連携]タブに移動します。) - 対象のアプリを選択します。
- パートナーを検索し、[連携する]を選択します。
- [連携]タブで、[パートナーを有効化]をオンにします。
注意:パートナーとの連携を利用している間は、このトグルをオン(有効)にしておく必要があります。詳しく見る - 以下の説明に従い、該当するタブで設定を完了します。
連携タブ
[連携]タブは、以下のセクションで構成されています。
パートナーを有効化
このパートナーと連携している間は、有効のままにしてください。
詳しくは、パートナーの有効化を参照してください。
一般設定
OneSignal AppID
OneSignalアカウントをAppsFlyerに接続するには、OneSignal AppIDフィールドにアプリIDを入力します。
OneSignalのアプリIDは、OneSignalのSettings>Keys & IDsで確認できます。
デフォルトポストバック
AppsFlyerは、ユーザーのインストール後にOneSignalへポストバックを自動送信できます。このセクションでは、イベントごとに、ポストバック送信の対象とするユーザーの流入元を設定します。
詳しくは、デフォルトポストバックを参照してください。
アプリをダウンロードしたすべてのユーザーのポストバックをOneSignalに送信するには、[オーガニックを含むすべてのメディアソース]を選択します。
連携の設定を完了するには、[連携を保存]をクリックします。
AppsFlyerはすべてのイベントを送信しますが、OneSignalはオーガニックインストールを集計しないため、OneSignal APIでは無視されます。
設定を保存すると、AppsFlyerは、オーガニックと非オーガニックの各インストールについて、以下のデータをOneSignalに送信します。
- メディアソース
- キャンペーン名
- デバイスID
- 広告ID
計測リンクタブ
このパートナーでは、計測リンクは利用できません。
コストタブ
このパートナーとの連携では、コストデータは利用できません。
広告収益タブ
このパートナーとの連携では、広告収益は利用できません。
権限タブ
このパートナーでは、権限の設定は利用できません。
OneSignalでユーザーのアトリビューションデータを確認する
Segment EditorのOneSignalタグで、デバイスごとのアトリビューションデータを確認できます。キャンペーンに使用するセグメントの作成時にも確認できます。