小编Mau*_*lik的帖子

与应用程序安装关联的帐户信息

对于在Android中实施应用内结算的用户来说,这是一个广受欢迎的问题,即如何处理多个帐户.如果用户配置了多个帐户,哪个帐户将用于应用内结算(因为没有选项让用户选择帐户)?挖了很多之后,下段在这里似乎可以解释它..

注意:要进行测试购买,许可测试帐户必须位于用户的Android设备上.如果设备有多个帐户,则会使用下载该应用的帐户进行购买.如果没有任何帐户下载了应用程序,则使用第一个帐户进行购买.用户可以通过展开购买对话框来确认正在进行购买的帐户.

我使用在应用程序计费中涉及的帐户创建开发人员有效负载,以便可以在以后某个时间或其他某个设备上正确还原.但是自Honeycomb以来,没有主账户这样的东西.用户可以删除任何帐户,可能是购买该应用程序的帐户,在这种情况下,帐户列表中的第一个帐户将用于计费.现在,如果我知道使用了哪个帐户,并且它是否"不是安装了应用程序的帐户",我至少可以告知用户以后的购买将不会恢复.

所以,我的问题是......

有没有办法找到用于下载应用程序的帐户?

Google Play似乎确实使用了这些信息.无论如何,我们可以与Google Play互动达到这个级别吗?

注意:PackageManager似乎没有解决这个问题.

android in-app-purchase google-account in-app-billing android-billing

30
推荐指数
1
解决办法
668
查看次数

android in-app billing v3 api中的开发者有效负载应该是多少?

我正在我的应用中实施应用内结算以解锁高级功能.应用内结算功能设置正确.除了"开发者有效载荷"之外,一切似乎都很好.

示例应用程序说

 /*
     * TODO: verify that the developer payload of the purchase is correct. It will be
     * the same one that you sent when initiating the purchase.
     *
     * WARNING: Locally generating a random string when starting a purchase and
     * verifying it here might seem like a good approach, but this will fail in the
     * case where the user purchases an item on one device and then uses your app on
     * a different device, because …
Run Code Online (Sandbox Code Playgroud)

android in-app-purchase in-app-billing android-billing

22
推荐指数
1
解决办法
2万
查看次数

标识用户的令牌

我正在开发一个Android应用程序,我希望该应用程序的某些功能不是免费的.

我曾考虑过使用应用内Billing Version 3 API,因此我在开发者控制台中定义了"应用内商品".

阅读文档后,我知道当我开始购买流程时,我应该传入一个字符串令牌,帮助应用程序唯一地识别进行购买的用户.

但是我如何获得识别用户的字符串标记?

谢谢

android billing in-app-purchase in-app-billing android-billing

13
推荐指数
1
解决办法
1万
查看次数

来自google developer api android的取消订阅产品的响应是什么?

我已在我的应用程序中实施了每月订阅,以激活我们的Web服务器上的用户.我在我的项目中成功实现了订阅代码.如果用户从Google Play商店我的应用配置文件取消订阅,我想停用用户.如果用户根据文档-1文档-2取消订阅产品,我已实现了获取产品订阅详细信息.

问题是什么?

我无法根据文档测试订购产品的购买情况.因此,我会将签名的版本提供给客户,他们将使用信用卡和实际产品购买进行检查.但是,如何测试客户在订阅被用户取消时获得的响应是​​什么?

对于取消产品:我将服务设置为每天获取访问令牌并检查validUntilTimestampMsec是否大于零然后检查autoRenewing标志是否为假,如果两者都为真,则取消激活用户.但不知道这种逻辑是对还是错.

if (validUntilDateInMilli > 0) {
    if ((System.currentTimeMillis() > validUntilDateInMilli)
                        && (!autoRenewingFlag)) {
        // call web service to deactivate user

        new AsyncTaskDeActivateBusinessOwner().execute();
    } 
}
Run Code Online (Sandbox Code Playgroud)

我只从开发人员api 的官方文档得到这个回复,如下所示:

{
  "kind": "androidpublisher#subscriptionPurchase",
  "initiationTimestampMsec": {long},
  "validUntilTimestampMsec": {long},
  "autoRenewing": {boolean}
}
Run Code Online (Sandbox Code Playgroud)

根据我在Google和StackOverFlow上搜索的内容,但没有文档我发现以下条件的响应是什么:

what is the response 

1) if the user currently has the subscription and 
2) if user has cancelled subscription(in 15 days) or if subscription cycle is completed.
Run Code Online (Sandbox Code Playgroud)

请从Google开发人员api测试订阅端到端购买和取消订阅validUntilDate的任何人.

任何帮助将非常感谢.先感谢您.

android google-api subscription in-app-purchase in-app-billing

11
推荐指数
1
解决办法
2710
查看次数

如何在Android上的Play商店上传我的应用程序的新版本之前测试升级sqlite数据库

我发现问题在更新应用版本后,在我上传的应用程序中找不到这样的表"table_name".我在测试后出来我只是在将旧版本的应用程序升级到新版本的应用程序之后才遇到此问题

我所实施的内容

我已经在onUpgrade()方法中完成了代码,并且还在构造函数中升级了db版本,但我无法在设备中对其进行测试.

步骤1) 将版本代码1增加到2

public databasehelper(Context context) {

        super(context, DATABASE_NAME, null, 2);
        this.myContext = context;
        try {
            createDataBase();
            openDataBase();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
Run Code Online (Sandbox Code Playgroud)

步骤2)将新表添加到onUpgrade()方法中

@Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

        Log.e("onUpgrade db", ">>>>called");
        switch (oldVersion) {
        case 1:
            db.execSQL(DATABASE_CREATE_notification_counter);
            Log.e("db version", ">>>"+oldVersion);
            // we want both updates, so no break statement here...
        case 2:
            Log.e("db version", ">>>"+oldVersion);
                  // I removed onCreate() method from here because new version will …
Run Code Online (Sandbox Code Playgroud)

java database sqlite android android-sqlite

11
推荐指数
1
解决办法
7700
查看次数

Android In-App-Purchase,如何检查用户是否购买了一件商品

是否可以安全地在SharedPreference中设置一个值来标记用户已购买此项目?如果用户在SharedPreference中破解此值,该怎么办?或者我需要每次都连接IAP服务以检查用户是否可以使用它?

(1)使用Google Android IAP V3时的最佳做法是什么?

(2)如果用户的设备没有安装Google Play,我可能想使用paypal进行付款,但如果我要求用户使用简单的PayPal付款获取许可证,如何跟踪购买并解锁用户的功能键?我不想使用任何其他计费SDK,如果用Paypal网页购买许可证,如何实现呢?

android paypal in-app-purchase paypal-sandbox in-app-billing

10
推荐指数
2
解决办法
5998
查看次数

Playstore订阅 - 测试策略

脚本:我即将完成谷歌Playstore应用内结算实施.我使用月度或年度订阅来向我的消费者收费.

问题:我似乎找不到从活动状态删除订阅的方法,因为取消只会停止计费发生.这不允许QA在不为每个测试创建帐户或等待订阅期结束的情况下彻底测试购买过程.

问题:我错过了什么或者错了什么?如果是这样,它是什么?如果没有,应该采取什么措施让QA进行适当的测试?

android subscription in-app-purchase in-app-billing google-play

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

无法更改应用内结算的默认货币

我目前正在我的开发者控制台上添加项目,但我遇到了一个问题.问题是谷歌要求我为我自己的祖国增加价格.就我而言,这是挪威的货币NOK.我希望包括挪威在内的所有国家的价格相同,因为我已经将价格硬编码到我的应用程序中.

我仍然没有在我的开发者控制台上找到"更改默认货币"的任何设置,并根据我必须为我自己的国家/地区添加价格的文档.仅仅改变当前货币课程的挪威克朗价格的另一个问题是,美元的最低价格略低于挪威克朗的最低价格.

是否有任何解决方法临时更改默认货币?

android in-app-purchase in-app-billing

8
推荐指数
1
解决办法
2538
查看次数

360度后停止旋转图像

我试图从它的中心点旋转图像单个圆但我不能停在欲望位置,因为我可以做旋转但我想停止旋转之后360'(1 round).

public class RotateRoundActivity extends Activity implements OnTouchListener
{

    private ImageView dialer;
    //private float y=0;
    private float x=0;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        dialer = (ImageView) findViewById(R.id.big_button);
        dialer.setOnTouchListener(this);
    }

    @Override
    public boolean onTouch(View v, MotionEvent event) {
    //  double r=Math.atan2(event.getX()-dialer.getWidth()/2, dialer.getHeight()/2-event.getY());

        double r=Math.atan2(event.getX()-dialer.getWidth()/2, dialer.getHeight()/2-event.getY());
        int rotation=(int)Math.toDegrees(r);
        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                break;
            case MotionEvent.ACTION_MOVE:
                x=event.getX();
              //  y=event.getY();
                updateRotation(rotation);
                break;
            case MotionEvent.ACTION_UP:
                break;
        }//switch       

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

旋转方法@

    private void updateRotation(double rot){
        float newRot=new Float(rot); …
Run Code Online (Sandbox Code Playgroud)

android rotational-matrices

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

"在测试Google应用内结算时,从服务器RPC S-7 AEC-0检索信息时出错"

我正在尝试将谷歌应用程序计费到我的应用程序中.我创建了SKU产品ID并在代码中实现了结算流程.在我输入所有测试帐户详细信息,位置,电话号码等并点击"保存"按钮后,我尝试测试应用内广告时,它会给出错误"Error retrieving information from server RPC S-7 AEC-0".我也发布了应用程序创建的测试帐户并使用测试帐户登录到设备.

任何人都可以帮我解决这个问题.我完全搞砸了....

android billing in-app-purchase in-app-billing android-billing

6
推荐指数
1
解决办法
2万
查看次数