0

androidでアプリ内購入を実装してみました。すべてが正しく設定されています...次のコードを使用します:

public void onClick(View v) {
    switch (v.getId()) {
    case R.id.main_purchase_yes:
        if(BillingHelper.isBillingSupported()){
            BillingHelper.requestPurchase(TopOption.this, "android.test.purchased"); 
            // android.test.purchased or android.test.canceled or android.test.refunded or com.blundell.item.passport
        } else {
            Toast msg = Toast.makeText(TopOption.this, "Can't purchase on this device", Toast.LENGTH_LONG);

            msg.setGravity(Gravity.CENTER, msg.getXOffset() / 2, msg.getYOffset() / 2);

            msg.show();
            Log.i(TAG,"Can't purchase on this device");
            // XXX press button before service started will disable when it shouldnt
        }

        break;
    default:
        // nada
        Log.i(TAG,"default. ID: "+v.getId());
        break;
    }

しかし、「android.test.purchased」の代わりに製品 ID を「com.company.item.itemID」に設定すると、ストアから得た応答は ItemNotFound ですか? 誰かがこれをどうするか知っていますか?

私のmanifest.xmlで、許可、サービスなどのすべてを設定しました.......そして、どこでもcom.companyname.AppIDを設定しました。Google plaでアプリを設定しました。そして、公開済みとして設定したアイテム。

誰もこれをどうするか知っていますか?

アップデート:

   <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.companyname.productid"
android:versionCode="1"
android:versionName="1.0" android:installLocation="preferExternal">

<uses-sdk
    android:minSdkVersion="4"
    android:targetSdkVersion="15" />
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:anyDensity="true" />
 <uses-permission android:name="android.permission.INTERNET" /> 
 <uses-permission android:name="com.android.vending.BILLING" />
<application

    android:icon="@drawable/ic_launcher"
    android:label="@string/newname"
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
    <activity
        android:name=".TopOption"
        android:label="@string/appName"
        android:screenOrientation="portrait" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".mygame"
        android:label="@string/title_activity_main" 
        android:screenOrientation="portrait">
    </activity>
     <activity
        android:name=".aboutclass"
        android:label="@string/title_activity_main"
        android:screenOrientation="portrait" >
    </activity>

  <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> 

</application>



</manifest>
4

1 に答える 1

1

これを試して:

  1. アプリを APK ファイルとしてエクスポートします。
  2. APK を Google Play にアップロードします。
  3. 同じ APK をテスト デバイスにサイドロードします。
  4. Google Play がサーバーを更新するまで 1 時間ほど待ちます。
  5. インストールされた APK をテストします。
于 2012-09-12T16:04:48.823 に答える