1

我的应用开始无法发送邀请。邀请屏幕弹出,当发件人按发送将电子邮件发送给选定的联系人时,它会收到错误

消息发送失败

我尝试了我能记住的一切,检查连接,使用其他谷歌帐户,甚至构建一个只发送邀请的小应用程序。我能找到的唯一能提供有关错误线索的是以下日志条目:

05-05 19:56:41.191 1409-1409/? D/SurfaceFlinger:重复图层名称:将 com.google.android.gms/com.google.android.gms.appinvite.AppInviteActivity 更改为 com.google.android.gms/com.google.android.gms.appinvite.AppInviteActivity#3

...

05-05 19:56:41.411 3254-4228/? E/Volley:[216] BasicNetwork.performRequest: https://www.googleapis.com/plusdatamixer/v1/mutateonekey? alt=proto&key= AIzaSyAP-gfH3qvi6vgHZbSYwQ_XHqV_mXHhzIk 的意外响应代码 400

按下发送后大约会生成 10 个日志条目,但似乎只有这 2 个是相关的。

这是我的测试应用程序的完整代码,从文档中复制,以防我在某处失败:

public class MainActivity extends AppCompatActivity {

    private static final int REQUEST_INVITE = 1002;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    private void onInviteClicked() {
        Intent intent = new AppInviteInvitation.IntentBuilder(getString(R.string.invitation_title))
                .setMessage(getString(R.string.invitation_message))
                .setDeepLink(Uri.parse(getString(R.string.invitation_deep_link)))
             //   .setCustomImage(Uri.parse(getString(R.string.invitation_custom_image)))
                .setCallToActionText(getString(R.string.invitation_cta))
                .build();
        startActivityForResult(intent, REQUEST_INVITE);
    }

    public void click(View view) {
        onInviteClicked();
    }
}

依赖项是由 android builder 自动添加的。这是 gradle 文件的快照:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    implementation 'com.google.firebase:firebase-invites:11.8.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

我被困在这几个小时,仍然一无所知。任何指针?

更新:应用程序和测试项目可以在我运行 API 21 的物理 android 上成功发送邀请。在具有 API 21 的 android 模拟器中运行应用程序仍然失败,因此它指出该服务受限于物理设备,但在一周我在虚拟设备上成功测试。此外,没有任何支持服务受到限制,所以我一定做错了什么。

2018 年 5 月 6 日更新: 刚刚更新到邀请包com.google.firebase:firebase-invites:15.0.1,仍然出现相同的错误,但前面是:

W/GLSUser: [AppCertManager] IOException while requesting key: 
    java.io.IOException: Invalid device key response.
        at gga.a(:com.google.android.gms@12529024@12.5.29 (040700-192802242):12)
        at gga.a(:com.google.android.gms@12529024@12.5.29 (040700-192802242):64)
        at gga.a(:com.google.android.gms@12529024@12.5.29 (040700-192802242):21)
        at gfy.a(:com.google.android.gms@12529024@12.5.29 (040700-192802242):4)
        at gfy.onTransact(:com.google.android.gms@12529024@12.5.29 (040700-192802242):4)
        at android.os.Binder.transact(Binder.java:627)
        at cwl.onTransact(:com.google.android.gms@12529024@12.5.29 (040700-192802242):3)
        at android.os.Binder.execTransact(Binder.java:697)
W/GLSUser: [DeviceKeyStore] Cannot load key: Device key file not found.
E/Volley: [220] BasicNetwork.performRequest: Unexpected response code 400 for https://www.googleapis.com/plusdatamixer/v1/mutateonekey?alt=proto&key=AIzaSyAP-gfH3qvi6vgHZbSYwQ_XHqV_mXHhzIk
4

0 回答 0