gpt4 book ai didi

Android InAppBilling - 当用户按下购买按钮时该怎么办?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:41:37 25 4
gpt4 key购买 nike

我在本地设置了“Dungeons”InAppBilling 示例,我准备尝试一下,但我有点困惑。我有一个这样的按钮:

Button donate = (Button)findViewById(R.id.donate);     
donate.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
// But what do I do here? :)
}
});

当它被调用时,我需要做什么才能真正进入 Android 商店的支付屏幕?

谢谢!

最佳答案

我最好建议你使用这段代码,因为这个例子很简单,一开始很容易处理。你需要做的是

http://blog.blundell-apps.com/simple-inapp-billing-payment/

  1. 从上面的链接下载示例项目代码(底部有代码说明和下载链接)
  2. 在您要在应用计费中实现的 android 项目中,创建包 com.android.vending.billing 并放置 IMarketBillingService.aidl(您可以在步骤 1 中下载的项目中找到此文件和下面提到的所有文件)
  3. 将以下实用程序文件放入任何包中并相应地更正导入语句。

          * BillingHelper.java
    * BillingReceiver.java
    * BillingSecurity.java
    * BillingService.java
    * C.java
  4. 将公钥(您可以在编辑配置文件底部的开发人员控制台中找到它)放在 BillingSecurity.java 中的行中,说 String base64EncodedPublicKey = "your public key here"

  5. 如下所示在您的 list 中声明以下权限(在应用程序标签外)、服务和接收器(在应用程序标签内)(也可以查看代码中的 list 以供引用)

     //outside the application tag 
    <uses-permission android:name="com.android.vending.BILLING" />

    // Inside the application tag
    <service android:name=".BillingService" />

    <receiver android:name=".BillingReceiver">
    <intent-filter>
    <action android:name="com.android.vending.billing.IN_APP_NOTIFY" />
    <action android:name="com.android.vending.billing.RESPONSE_CODE" />
    <action android:name="com.android.vending.billing.PURCHASE_STATE_CHANGED" />
    </intent-filter>
    </receiver>
  6. 将以下代码放在您的 Activity 中进行购买的地方。

    //at the starting of your onCreate()
    startService(new Intent(mContext, BillingService.class));
    BillingHelper.setCompletedHandler(mTransactionHandler);

    //outside onCreate() Within class
    public Handler mTransactionHandler = new Handler(){
    public void handleMessage(android.os.Message msg) {
    Log.i(TAG, "Transaction complete");
    Log.i(TAG, "Transaction status: "+BillingHelper.latestPurchase.purchaseState);
    Log.i(TAG, "Item purchased is: "+BillingHelper.latestPurchase.productId);

    if(BillingHelper.latestPurchase.isPurchased()){
    //code here which is to be performed after successful purchase
    }
    };

    };

    //code to initiate a purchase... can be placed in onClickListener etc
    if(BillingHelper.isBillingSupported()){
    BillingHelper.requestPurchase(mContext, "android.test.purchased");
    // where android.test.purchased is test id for fake purchase, when you create products through developer console you can set a code to pass the id(which is given on developer console while creating a product) of the item which is selected for purchase to intiate purchase of that item.
    } else {
    Log.i(TAG,"Can't purchase on this device");
    // Do Anything Heer to show user that purchase not possible on this device
    }

注意:要进行测试购买,您需要将公钥放入 BillingSecurity.java 中,如上所述,其次,您需要将 apk 上传到开发者控制台(您可以将其保持未发布和未激活状态),第三,您需要一个真实的Android 设备(模拟器无法运行)更新了 Play 商店应用。

注意:上述所有讨论中描述的应用内购买所需的帐户不仅仅是简单的发布者帐户,它的发布者帐户嵌入了谷歌商户钱包帐户。可以在下面的链接中找到详细信息。

http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=113468

关于Android InAppBilling - 当用户按下购买按钮时该怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11099702/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com