Engage SDK に関するよくある質問

公開に関するよくある質問

コンテンツ公開ジョブを管理するのは誰ですか?

アプリ デベロッパーがコンテンツ公開ジョブを管理し、Engage サービスにリクエストを送信します。そうすることで、デベロッパー パートナーは、ユーザーにコンテンツを公開するタイミングや方法をより細かく制御できます。これにより、コンテンツを公開するためにパートナー アプリを頻繁に起動する必要がなくなります。

デベロッパーはすべてのクラスタタイプを公開する必要がありますか?

技術的には、クラスタを 1 つだけ公開する形でも問題ありませんが、複数追加することを強くおすすめします。複数追加しないと、コンテンツをアピールする機会を逃すことになります。各カテゴリのすべてのクラスタタイプを公開することを強くおすすめします

デベロッパー パートナーは、アプリの実行中、ワーク マネージャーを介してデータをどのくらいの頻度で公開する必要がありますか?

この点はデベロッパー パートナーが判断します。Google では、一般的なおすすめコンテンツの場合は 1 日に 1~2 回データを公開することを推奨しています。ショッピング カートや再注文、その他の連続性コンテンツの場合は、イベント ドリブンの手法で対応することを推奨しています(カートに商品を追加したユーザーや、映画の視聴を中断したユーザーのコールバックとしてワーカーを起動するなど)。

デベロッパーが削除 API を呼び出すタイミングはいつですか?

削除 API は、公開するコンテンツがない場合にのみ呼び出す必要があります。コンテンツを置き換えるために、削除 API と公開 API を後から呼び出すことはしないでください。公開 API は以前のコンテンツを自動的に削除します。

ブロードキャスト インテントに関するよくある質問

Android アプリのデベロッパーがブロードキャスト インテントに登録する必要があるのはなぜですか?

ユーザーに最新のコンテンツを提供するには、ユーザーがそのアプリを頻繁に使用していない場合でもデータ同期をトリガーできるよう、ブロードキャスト インテントを使用する必要があります。

バックグラウンド実行が許可されていません

ブロードキャスト インテントの登録中に、次のようなエラーが発生することがあります。

Background execution not allowed: receiving Intent
{ act=com.google.android.engage.action.PUBLISH_RECOMMENDATION .. }

ブロードキャスト レシーバを動的に登録する必要があります。

class AppEngageBroadcastReceiver extends BroadcastReceiver {
// Trigger recommendation cluster publish when PUBLISH_RECOMMENDATION broadcast
// is received
}

public static void registerBroadcastReceivers(Context context) {

context = context.getApplicationContext();

// Register Recommendation Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_RECOMMENDATION));
...

}

ワークフローに関するよくある質問

SDK との統合中に、次のようなエラーが発生することがあります。

ディープリンクはパッケージ名と関連付けられています。ディープリンクをテストするには、adb ツールの使用をおすすめします。

adb shell am start -W -a android.intent.action.VIEW -d <DEEPLINK URI> <PACKAGE NAME>

ディープリンクは、アトリビューションをトラッキングするのに最適な方法です。ユーザーをアプリに誘導するディープリンク URL は、追加のトラッキング パラメータに配置できます(例: http://xx/deeplink?source_tag=engage)。

デベロッパーは、独自のトラッキング パラメータを追加し、影響を計算するためのアトリビューションを指定できます。