카카오톡 공유를 통하여 앱을 설치할때
setMarketParam 에 값을 넣어주었는데 예를 들어
패키지명이 com.kakao 이고
setMarketParam (“key”, “value”);
BroadcastReceiver 를 통해
intent.getExtras().getString(“key”,"") 받으면
null 값이 들어오는데 혹시 어떤 이유인지 알수 있을까요??
대략적인 코드는 이렇습니다.
manifest 에는 밑에처럼 해놓았고
리시버는 아래처럼
되어있습니다.
public class InstallReferrerReceiverScanner extends BroadcastReceiver {
private static final String ACTION_INSTALL_REFERRER = "com.android.vending.INSTALL_REFERRER";
private static final String KEY_REFERRER = "qrkey";
@Override
public void onReceive(Context context, Intent intent) {
if (intent == null) {
Log.e("ReferrerReceiver", "Intent is null");
return;
}
if (!ACTION_INSTALL_REFERRER.equals(intent.getAction())) {
Log.e("ReferrerReceiver", "Wrong action! Expected: " + ACTION_INSTALL_REFERRER + " but was: " + intent.getAction());
return;
}
Bundle extras = intent.getExtras();
if (intent.getExtras() == null) {
Log.e("ReferrerReceiver", "No data in intent");
return;
}
SharedPreferenceManager.getInstance().init(context);
SharedPreferenceManager.getInstance().setAppInstallQrkey(intent.getExtras().getString(KEY_REFERRER ,""));
}
}