React Native APIリファレンス

概要:AppsFlyer SDKをReact Nativeで開発されたiOS / Androidアプリに実装して、インストール、アプリ内イベント、メディアソースなどを計測するためのAPIリファレンスを紹介しています。

 関連記事

AppsFlyerのReact Nativeプラグインに関する全体像を把握するためには、以下の記事を参照してください。

initSDK

説明

AppsFlyer SDKをDevキーとアプリIDで初期化してください。

Devキーは全てのアプリで必要ですが、アプリIDはiOSのみで必要です(AndroidでもアプリIDを引き渡すことができますが、これは無視されます)。

メソッドのシグネチャ

initSdk(options, success, error)

import React, {Component} from 'react';
import {Platform, StyleSheet, Text, View} from 'react-native';
import appsFlyer from 'react-native-appsflyer';

appsFlyer.initSdk(
{
    devKey: 'K2***********99',
    isDebug: false,
    appId: '41*****44',
  },
  (res) => {
    console.log(res);
  },
  (err) => {
    console.error(err);
  }
);
);

trackAppLaunch (非推奨)

説明

2つの機能があります。

  • アプリの起動イベントをAppsFlyerに送信します。
  • stopTrackingで計測が停止された場合、SDK機能を再度開始します。

メソッドのシグネチャ

trackAppLaunch()

state = {
  appState: AppState.currentState,
};

componentDidMount();
{
  AppState.addEventListener('change', this._handleAppStateChange);
}

componentWillUnmount();
{
  AppState.removeEventListener('change', this._handleAppStateChange);
}

_handleAppStateChange = (nextAppState) => {
  if (this.state.appState.match(/inactive|background/)&& nextAppState === 'active') {
    if (Platform.OS === 'ios') {
      appsFlyer.trackAppLaunch();
    }
  }

  this.setState({appState: nextAppState});
};

onInstallConversionData

説明

SDKからAppsFlyerのアトリビューション/コンバージョンデータへアクセスを許可します(ディファードディープリンク)

コンバージョンリスナーのコード実装は、SDKの初期化コードより前に行う必要があります。

メソッドのシグネチャ

onInstallConversionData(callback) : function:unregister

this.onInstallConversionDataCanceller = appsFlyer.onInstallConversionData(
(res) => {
    if (JSON.parse(res.data.is_first_launch)== true) {
      if (res.data.af_status=== 'Non-organic') {
        var media_source = res.data.media_source;
        var campaign = res.data.campaign;
        alert('This is first launch and a Non-Organic install. Media source: ' + media_source + ' Campaign: ' + campaign);
      } else if (res.data.af_status=== 'Organic') {
        alert('This is first launch and a Organic Install');
      }
    } else {
      alert('This is not first launch');
    }
  }
);

appsFlyer.initSdk(/*...*/);

onAppOpenAttribution

説明

アプリがディープリンク起動されたときに、ディープリンクのデータを取得します。

メソッドのシグネチャ

onAppOpenAttribution(callback) : function:unregister)

this.onAppOpenAttributionCanceller = appsFlyer.onAppOpenAttribution((res)=> {
  console.log(res);
});

appsFlyer.initSdk(/*...*/);

logEvent

説明

アプリ内イベントをAppsFlyerへ送信します。アプリ内イベントの記録を参照してください。

メソッドのシグネチャ

logEvent(eventName, eventValues, success, error)

const eventName = 'af_add_to_cart';
const eventValues = {
  af_content_id: 'id123',
  af_currency: 'USD',
  af_revenue: '2',
};

appsFlyer.logEvent(
eventName,
  eventValues,
  (res) => {
    console.log(res);
  },
  (err) => {
    console.error(err);
  }
);

setCustomerUserId

説明

顧客ユーザーID(CUID)を設定します。顧客ユーザーIDの設定を参照してください。

メソッドのシグネチャ

setCustomerUserId(userId, callback)

appsFlyer.setCustomerUserId('some_user_id',(res) => {
  //..
});

getAppsFlyerUID

説明

AppsFlyer IDを取得します。より詳細な情報は、 こちらを参照してください。

メソッドのシグネチャ

getAppsFlyerUID(callback)

appsFlyer.getAppsFlyerUID((err,appsFlyerUID) => {
  if (err) {
    console.error(err);
  } else {
    console.log('on getAppsFlyerUID: ' + appsFlyerUID);
  }
});

stop

説明

すべてのSDK機能を停止します。ユーザープライバシー(オプトアウト)を参照してください。

メソッドのシグネチャ

stop(isStopped, callback)

appsFlyer.stop(true,(res) => {
  //...
});

logLocation

説明

ユーザーのロケーションを手動で記録します。

メソッドのシグネチャ

logLocation(longitude, latitude, callback)

const latitude = -18.406655;
const longitude = 46.40625;

appsFlyer.logLocation(longitude, latitude, (err, coords) => {
  if (err) {
    console.error(err);
  } else {
    //...
  }
});

setUserEmails

説明

ユーザーのメールアドレスを設定し暗号化します。

メソッドのシグネチャ

setUserEmails(options, success, error)

const options = {
  emailsCryptType: 2,
  emails: ['user1@gmail.com', 'user2@gmail.com'],
};

appsFlyer.setUserEmails(
options,
  (res) => {
    //...
  },
  (err) => {
    console.error(err);
  }
);

setAdditionalData

説明

外部のパートナープラットフォームに送信されるデータを追加します。

メソッドのシグネチャ

setAdditionalData(additionalData, callback)

appsFlyer.setAdditionalData(
{
    val1: 'data1',
    val2: false,
    val3: 23,
  },
  (res) => {
    //...
  }
);

updateServerUninstallToken - Androidのみ

説明

アンインストール計測のために、Firebaseのデバイストークンを手動で渡します。

メソッドのシグネチャ

updateServerUninstallToken(token, callback)

appsFlyer.updateServerUninstallToken('token',(res) => {
  //...
});

setCollectIMEI - Androidのみ

説明

IMEIをAppsFlyerに送信するかどうかを指定します。

メソッドのシグネチャ

setCollectIMEI(isCollect, callback)

appsFlyer.setCollectAndroidIMEI(true,(res) => {
   //...
});

setCollectAndroidID - Androidのみ

説明

Android IDをAppsFlyerに送信するかどうかを指定します。

メソッドのシグネチャ

setCollectAndroidID(isCollect, callback)

appsFlyer.setCollectAndroidID(true,(res) => {
   //...
});

setAppInviteOneLinkID

説明

ユーザー招待用のカスタム計測リンクを作成するために、OneLinkテンプレートIDを設定します。

generateInviteLink と一緒に使用されます。

メソッドのシグネチャ

setAppInviteOneLinkID(oneLinkID, callback)

appsFlyer.setAppInviteOneLinkID('abcd',(res) => {
  //...
});

logCrossPromotionImpression

説明

インプレッションの計測には、次のAPIコールを使用します。

AppsFlyerの管理画面上に表示されるアプリIDを使用していることをご確認ください。

メソッドのシグネチャ

logCrossPromotionImpression(appId, campaign)

appsFlyer.logCrossPromotionImpression("com.myandroid.app", "myCampaign");

logCrossPromotionAndOpenStore

説明

クリックを計測しアプリストアのアプリページを起動します。

メソッドのシグネチャ

logCrossPromotionAndOpenStore(appId, campaign, params)

var crossPromOptions = {
  customerID: '1234',
  myCustomParameter: 'newUser',
};

appsFlyer.logCrossPromotionAndOpenStore(
'com.myandroid.app',
'myCampaign',
  crossPromOptions
);
            

setCurrencyCode

説明

全てのイベントの通貨コードを設定します。

  • デフォルトの通貨設定:USD
  • 通貨コードは、3文字のISO 4217コードです。

メソッドのシグネチャ

setCurrencyCode(currencyCode, callback)

appsFlyer.setCurrencyCode('USD', () => {});

setDeviceTrackingDisabled

説明

AppsFlyerアナリティクス内の特定のユーザー識別子を匿名化します。この機能は、最新のプライバシー要件(GDPR、COPPA)とFacebookのデータおよびプライバシーに関するポリシーに準拠しています。

メソッドのシグネチャ

setDeviceTrackingDisabled(isDeviceTrackingDisabled, callback)

appsFlyer.setDeviceTrackingDisabled(true, () => {});

setOneLinkCustomDomains

説明

SDKの初期化の際に、OneLinkカスタムリンク/ブランドドメインの設定を示すために使用されます。ブランドリンクについて参照してください。

メソッドのシグネチャ

setOneLinkCustomDomains(domains, successC, errorC)

appsFlyer.setOneLinkCustomDomains(["click.mybrand.com"],
(res) => {
        console.log(res);
    }, (error) => {
        console.log(error);
    });            

setResolveDeepLinkURLs

説明

SDK初期化の際に、元のディープリンクを取得するために、特定のドメイン (ディープリンクをラップするときに ESP が使用するドメイン) からのリンクを解決する必要があることを示すために使用されます。詳細はこちら

メソッドのシグネチャ

setResolveDeepLinkURLs(urls, successC, errorC)

appsFlyer.setResolveDeepLinkURLs(["click.esp-domain.com"],
(res) => {
        console.log(res);
    }, (error) => {
        console.log(error);
    });            

performOnAppAttribution

説明

この機能は、新しいリエンゲージメントを計測することなく、開発者が onAppOpenAttribution を特定のリンク(URIまたはURL)で手動で再度トリガーすることを許可します。特定のリンクに基づいてユーザーをリダイレクトする必要がある場合や、アプリがフォアグラウンド/起動している間にAppsFlyerのショートURLを解読する必要がある場合に、このメソッドが必要になる可能性があります。これは、アプリがディープリンクで開かれた場合にのみ、通常の onAppOpenAttribution コールバックが呼び出されるため、必要になる場合があります。

メソッドのシグネチャ

performOnAppAttribution(url, callback)

let uriString = "sdktest://test"
 appsFlyer.performOnAppAttribution(uriString,(res) => {
 console.log(res);
 })     

setSharingFilterForAllPartners

説明

広告主がすべてのアドネットワーク/連携パートナーに対して、データを共有しないようにするために使用します。詳細はこちらを参照してください。

メソッドのシグネチャ

setSharingFilterForAllPartners()

setSharingFilterForAllPartners()

setSharingFilter

説明

広告主が、特定の (ひとつもしくは複数の) アドネットワーク/連携済みパートナーに対して、データを共有しないようにするために使用します。詳細はこちら

メソッドのシグネチャ

setSharingFilter(partners, sucessC, errorC)

 let partners = ["facebook_int","googleadwords_int","snapchat_int","doubleclick_int"]
        appsFlyer.setSharingFilterForAllPartners(partners,
(res) => {
            console.log(res);
        }, (error) => {
            console.log(error);
        })