Huawei Adsの実装方法-インストールリファラー編
インストールリファラーで取得できる情報が3つあります。
- リファラーのパッケージ名
- リファラーのクリックが行われたときのタイムスタンプ
- インストールが開始されたときのタイムスタンプ
実装ステップ1
インストールリファラーの情報を受け取るリスナーを作ります。
private var installReferrerClient: InstallReferrerClient? = null
private var installReferrerStateListener = object : InstallReferrerStateListener{
override fun onInstallReferrerSetupFinished(responseCode: Int) {
when(responseCode) {
InstallReferrerClient.InstallReferrerResponse.OK -> {
installReferrerClient?.let {
try {
val referrerDetails: ReferrerDetails = it.installReferrer
Log.i(TAG, "リファラーのパッケージ名 = " + referrerDetails.installReferrer)
Log.i(TAG, "リファラーのクリックが行われたときのタイムスタンプ = " + referrerDetails.referrerClickTimestampMillisecond)
Log.i(TAG, "インストールが開始されたときのタイムスタンプ = " + referrerDetails.installBeginTimestampMillisecond)
} catch (exception: RemoteException) {
Log.e(TAG, exception.message, exception)
} catch (exception: IOException) {
Log.e(TAG, exception.message, exception)
} finally {
disconnectInstallReferrerClient()
}
}
}
InstallReferrerClient.InstallReferrerResponse.FEATURE_NOT_SUPPORTED -> {
Log.i(TAG, "FEATURE_NOT_SUPPORTED")
}
InstallReferrerClient.InstallReferrerResponse.SERVICE_UNAVAILABLE -> {
Log.i(TAG, "SERVICE_UNAVAILABLE")
}
InstallReferrerClient.InstallReferrerResponse.SERVICE_DISCONNECTED -> {
Log.i(TAG, "SERVICE_DISCONNECTED")
}
InstallReferrerClient.InstallReferrerResponse.DEVELOPER_ERROR -> {
Log.i(TAG, "DEVELOPER_ERROR")
}
}
}
override fun onInstallReferrerServiceDisconnected() {
Log.i(TAG, "onInstallReferrerServiceDisconnected")
}
}
実装ステップ2
インストールリファラーのクライアントに接続します。
fun connectInstallReferrerClient(context: Context) {
Completable.create{ emitter ->
installReferrerClient = InstallReferrerClient
.newBuilder(context)
.setTest(false)
// .setTest(true) // テストの場合はtrueにする
.build()
installReferrerClient?.let {
it.startConnection(installReferrerStateListener)
}
emitter.onComplete()
}.subscribeOn(Schedulers.io())
.subscribe()
}
テスト時の注意点
テストする前に、以下のテスト用ツールのソースコードをダウンロードしてビルドし、インストールする必要があります。
https://communityfile-drcn.op.hicloud.com/FileServer/getFile/cmtyPub/011/111/111/0000000000011111111.20201228164405.24541529505523316959624130552905:50511229010931:2800:A1CA4A2BB8B8AAA730E281C484A9B92934735813D70689D8FD3AC9A509B34DAD.zip
インストール後にそれを起動し、Write install referrer for testを選びます。
Huawei Adsシリーズ
- Huawei Adsの機能のまとめ
- Huawei Adsの実装方法-準備編
- Huawei Adsの実装方法-広告用識別子(OAID)編
- Huawei Adsの実装方法-インストールリファラー編
- Huawei Adsの実装方法-バナー広告編
- Huawei Adsの実装方法-ネイティブ広告編
- Huawei Adsの実装方法-リワード広告編
- Huawei Adsの実装方法-インタースティシャル広告編
- Huawei Adsの実装方法-スプラッシュ広告編
GitHub
HMS Ads Kit Demo : https://github.com/Rei2020GitHub/MyPublicProject/tree/master/AdsDemo
参考
- HMS:https://developer.huawei.com/consumer/jp/
- HMS Ads Kitの紹介:https://developer.huawei.com/consumer/jp/hms/huawei-adskit/
- HMS Ads Kitのドキュメント:https://developer.huawei.com/consumer/jp/doc/development/HMSCore-Guides/publisher-service-introduction-0000001070671805
- HUAWEI Ads Publisher Service:https://developer.huawei.com/consumer/jp/monetize/
- HUAWEI Ads Publisher Serviceのドキュメント:https://developer.huawei.com/consumer/jp/doc/distribution/monetize/advantage-0000001051201913
- Huawei Developers:https://forums.developer.huawei.com/forumPortal/en/home
- Facebook Huawei Developersグループ:https://www.facebook.com/Huaweidevs/