小编Mar*_*ous的帖子

新发布的"使用Google Play服务进行身份验证",通过GoogleAuthUtil.getToken获取令牌的问题

更新:

刚才我使用我用于Google App Engine的Google帐户注册了Google API,现在错误已更改为 com.google.android.gms.auth.GoogleAuthException: Unknown


谷歌刚刚发布了一种通过谷歌账户注册一个应用程序的新方法,并在他们的博客帖子中给出了一些解释.

我正在编写一个Android应用程序,您必须注册才能创建用户帐户,而我正在使用Google App Engine作为后端.通过播放服务,我希望用户的电子邮件附属于他们的Android设备和令牌.我已经可以收到电子邮件,但是,获取令牌只会引发错误,并且由于文档非常稀疏,我不知道如何解决这些问题.这就是我收到电子邮件的方式:

private String[] getAccountNames() {
    mAccountManager = AccountManager.get(this);
    Account[] accounts = mAccountManager.getAccountsByType(GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE);
    names = new String[accounts.length];
    for (int i = 0; i < names.length; i++) {
        names[i] = accounts[i].name;
    }

    return names;
}
Run Code Online (Sandbox Code Playgroud)

但是,当我打电话时token = GoogleAuthUtil.getToken(context, email, "scope",它给了我这些错误: GooglePlayServices not available due to error 1com.google.android.gms.auth.GooglePlayServicesAvailabilityException: GooglePlayServicesNotAvailable.

现在我的问题是,我是否必须设置任何权限或包含任何库来解决这个问题?什么是范围参数?在他们的博客文章中给出了如何获取令牌以及放入范围的内容的示例,以将范围变量设置为"https://www.googleapis.com/auth/userinfo.profile"但不幸的是我仍然得到相同的错误.

我还为Google API控制台注册了我的应用并启用了G + API,我是否还必须配置其他内容?

api android token

9
推荐指数
2
解决办法
8936
查看次数

执行Parse.initialize时的java.util.ConcurrentModificationException(这个

我有很多用户向Play控制台报告此崩溃.我测试了它,它有时只出现.崩溃发生在我在ParseApplication类中的这一行中,它扩展了Application类,应该在其他所有之前调用它?

这是它崩溃的线:

 Parse.initialize(this, "XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXX");
Run Code Online (Sandbox Code Playgroud)

这是崩溃

java.lang.RuntimeException: Unable to create application com.hour.chat.ParseApplication: java.util.ConcurrentModificationException
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4411)
at android.app.ActivityThread.access$1500(ActivityThread.java:145)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1266)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5081)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:781)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.util.ConcurrentModificationException
at java.util.LinkedList$LinkIterator.next(LinkedList.java:124)
at com.parse.ParseObject.mergeREST(ParseObject.java:928)
at com.parse.ParseUser.mergeREST(ParseUser.java:285)
at com.parse.OfflineStore$13$2.then(OfflineStore.java:765)
at com.parse.OfflineStore$13$2.then(OfflineStore.java:762)
at com.parse.Task$10.run(Task.java:448)
at com.parse.Task$ImmediateExecutor.execute(Task.java:673)
at com.parse.Task.completeImmediately(Task.java:444)
at com.parse.Task.continueWith(Task.java:318)
at com.parse.Task.continueWith(Task.java:329)
at com.parse.Task$8.then(Task.java:381)
at com.parse.Task$8.then(Task.java:373)
at com.parse.Task$11.run(Task.java:481)
at com.parse.Task$ImmediateExecutor.execute(Task.java:673)
at com.parse.Task.completeAfterTask(Task.java:477)
at com.parse.Task.continueWithTask(Task.java:353)
at com.parse.Task.onSuccess(Task.java:373)
at com.parse.Task.onSuccess(Task.java:393)
at com.parse.OfflineStore$13.then(OfflineStore.java:762)
at com.parse.OfflineStore$13.then(OfflineStore.java:721) …
Run Code Online (Sandbox Code Playgroud)

android parse-platform

9
推荐指数
1
解决办法
642
查看次数

mService.consumePurchase(3,packageName,purchaseToken)始终返回RESULT_DEVELOPER_ERROR = 5 - 提供给API的无效参数

我总是得到"RESULT_DEVELOPER_ERROR = 5 - 提供给API的无效参数",当我尝试使用

String purchaseToken = "inapp:" + getPackageName() + ":" + productId;
int response = 0;
try {
    response = mService.consumePurchase(3, getPackageName(), purchaseToken);
} catch (RemoteException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

出于这个原因,我总是只能购买一次.但是,我需要能够更频繁地进行购买.我一直试图解决这个问题2天,但没有成功.:/

使用SKU"android.test.purchased"制作和消费购买完全正常,但是只要我使用生产密钥导出.apk并添加实时SKU,购买只会出现一次,然后再也不会出现.

这里有更多细节

  1. Play商店中.apk的版本代码和我在手机上使用的导出的.apk是相同的,并使用相同的密钥库进行签名
  2. 我已经尝试过托管和非托管产品,但这无关紧要,因为根据最新的应用内结算文档,托管和非托管都被视为托管产品,两者都必须被消费
  3. 我只有5个SKU项目,所以它没有达到20的限制,这是这里的问题

android in-app-purchase in-app-billing

7
推荐指数
1
解决办法
5795
查看次数