问题描述
实现 Google AppInvite
-链接.
开始邀请 Activity
,然后在LogCat中获取下一个:
Start Invite Activity
and get next in the LogCat:
E/AppInviteAgent: Get suggested invitees failed due to error code: 3
No Android client ID is found for package name <MY_PACKAGE_NAME>. (APPINVITE_CLIENT_ID_ERROR)
E/AppInviteAgent: Create invitations failed due to error code: 3
No Android client ID is found for package name <MY_PACKAGE_NAME>. (APPINVITE_CLIENT_ID_ERROR)
然后我在 onActivityResult
方法中添加一个Log.d并进入LogCat:
Then I add a Log.d in the onActivityResult
method and get in the LogCat:
onActivityResult: requestCode=0, resultCode=3
有人可以帮助我吗?我尝试将其修复大约2周.
Can somebody help me ? I try to fix it about 2 weeks.
UPD0
// my `build.gradle` file (project level)
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0-beta6'
classpath 'com.google.gms:google-services:2.0.0-beta6'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
// my `build.gradle` file (app level)
compileSdkVersion 23
buildToolsVersion '23.0.2'
// ... some code
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.2.0'
compile 'com.android.support:design:23.2.0'
compile 'com.google.android.gms:play-services-ads:8.4.0'
compile 'com.google.android.gms:play-services-appinvite:8.4.0'
// for in-app-billing v3
compile 'com.anjlab.android.iab.v3:library:1.0.31'
}
// and in the end of the file
// for Google Invite
apply plugin: 'com.google.gms.google-services'
// my methods in the MainActivity
private void onInviteClicked() {
Intent intent = new AppInviteInvitation.IntentBuilder(
getString(R.string.txt_invitation_title))
.setMessage(getString(R.string.txt_invitation_message))
.setCallToActionText(getString(R.string.txt_invitation_cta))
.build();
startActivityForResult(intent, REQUEST_INVITE);
}
// where REQUEST_INVITE - private static final int and equal 0;
// and onActivityResult - copy from `Google` manual
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
new MyLogs("onActivityResult: requestCode=" + requestCode + ", resultCode=" + resultCode);
if (requestCode == REQUEST_INVITE) {
if (resultCode == RESULT_OK) {
// Check how many invitations were sent and log a message
// The ids array contains the unique invitation ids for each invitation sent
// (one for each contact select by the user). You can use these for analytics
// as the ID will be consistent on the sending and receiving devices.
String[] ids = AppInviteInvitation.getInvitationIds(resultCode, data);
new MyLogs(getString(R.string.sent_invitations_fmt, ids.length));
} else {
// Sending failed or it was canceled, show failure message to the user
new MyLogs("send_failed");
}
}
}
推荐答案
在Firebase控制台的项目设置"下,找到证书指纹(SHA-1)"部分,然后从帮助图标中将您定向到 https://developers.google.com/android/guides/client-auth 并输入生成的SHA1密钥释放和调试证书指纹.然后resultCode 3将消失,您将发送邀请.
In firebase console under Project Settings find "Certificate Fingerprints (SHA-1)" part and from the help icon you will be directed to https://developers.google.com/android/guides/client-auth and enter generated SHA1 keys for both release and debug certificate fingerprints. Then resultCode 3 will gone and you will send the invitation.
这篇关于Google App邀请的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!