我目前正在尝试测试Google的应用邀请,但我很难测试def to_internal_value(self, data):
if data and data.get('username'):
return self.Meta.model.objects.get(username=data['username'])
return super().to_internal_value(data)
广播功能,而无需在Play商店中添加应用
App邀请广播意图需要一个名为INSTALL_REFERRER
的附加内容,并在"com.google.android.gms.appinvite.REFERRAL_BUNDLE"
中进行检查,如下所示:
AppInviteReferral
使用public static boolean hasReferral(Intent referralIntent) {
return referralIntent != null && referralIntent.getBundleExtra("com.google.android.gms.appinvite.REFERRAL_BUNDLE") != null;
}
测试广播时,我们可以做的最好的事情是添加附加功能,但是没有额外添加附加功能的选项。 (documentation here)
任何人都知道如何将捆绑包作为广播的一部分?
答案 0 :(得分:1)
在这个post中说不可能通过adb添加bundle。您可以编写简单的测试应用程序并发送您想要的app邀请意图:
Intent intent = new Intent("com.android.vending.INSTALL_REFERRER");
intent.setPackage("your_package");
Bundle bundle = new Bundle();
bundle.putString("com.android.vending.INSTALL_REFERRER", "your_invite_id");
bundle.putString("com.google.android.gms.appinvite.DEEP_LINK", "your_deep_link");
intent.putExtra("com.google.android.gms.appinvite.REFERRAL_BUNDLE", bundle);
sendBroadcast(intent);
我已经通过这种方式测试了谷歌应用邀请,但在尝试通过adb发送意图之前。