Engage SDK 관련 자주 묻는 질문(FAQ)

게시 관련 FAQ

콘텐츠 게시 작업은 누가 관리하나요?

앱 개발자가 콘텐츠 게시 작업을 관리하고 참여 서비스에 요청을 보냅니다. 이렇게 하면 개발자 파트너가 사용자에게 콘텐츠를 게시하는 시점과 방법을 더 효과적으로 제어할 수 있습니다. 따라서 콘텐츠 게시를 위해 파트너 앱이 너무 자주 절전 모드에서 해제되지 않게 됩니다.

개발자가 모든 클러스터 유형을 게시해야 하나요?

기술적으로 개발자는 클러스터 한 개만 게시할 수 있지만 다른 클러스터를 추가하는 것이 좋습니다. 그러지 않으면 개발자가 더 나은 콘텐츠 참여를 유도할 기회를 놓칠 수 있습니다. 카테고리마다 모든 클러스터 유형을 게시하는 것이 좋습니다.

앱이 실행되는 동안 개발자 파트너가 작업 관리자를 통해 데이터를 얼마나 자주 게시해야 하나요?

이는 개발자 파트너가 결정합니다. 일반 추천 콘텐츠의 경우 하루에 한두 번 게시하는 것이 좋고 장바구니, 재주문, 기타 연속 콘텐츠의 경우에는 이벤트 기반 방법론을 사용하는 것이 좋습니다(예: 장바구니에 항목을 추가하는 사용자 또는 영화를 중간에 멈춘 사용자의 콜백으로 worker 시작). 소셜 앱의 경우 업데이트된 추천 클러스터를 게시하는 것이 중요합니다. 각 앱 사용 후 소셜 앱 사용자는 최근 게시물을 최대 한 번만 보고 싶은 경우에 적합합니다.

개발자는 언제 삭제 API를 호출해야 하나요?

삭제 API는 게시할 콘텐츠가 없는 경우에만 호출해야 합니다. 이후에 삭제 및 게시 API를 호출하여 콘텐츠를 대체하지 마세요. 게시 API가 이전 콘텐츠를 자동으로 삭제합니다.

브로드캐스트 인텐트 FAQ

Android 앱 개발자가 브로드캐스트 인텐트를 등록해야 하는 이유는 무엇인가요?

사용자에게 최신 콘텐츠를 제공하려면 사용자가 앱을 자주 사용하지 않는 경우에 브로드캐스트 인텐트를 사용하여 데이터 동기화를 트리거해야 합니다.

백그라운드 실행이 허용되지 않음

브로드캐스트 인텐트를 등록하는 동안 다음과 같은 오류가 발생할 수 있습니다.

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

Broadcast receiver를 동적으로 등록해야 합니다.

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));
...

}

워크플로 FAQ

SDK와 통합하는 동안 다음과 같은 오류가 발생할 수 있습니다.

딥 링크는 패키지 이름과 결합됩니다. 딥 링크를 테스트하는 좋은 방법은 adb 도구를 사용하는 것입니다.

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

딥 링크는 기여 분석을 추적하는 데 좋은 방법입니다. 사용자를 앱으로 연결하는 딥 링크 URL을 추가 추적 매개변수와 함께 사용할 수 있습니다. 예: 'http://xx/deeplink?source_tag=engage'

개발자는 자체 추적 매개변수를 추가하고 기여 분석을 제공하여 영향을 계산할 수 있습니다.