Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
Zima41
0 / 0 / 0
Регистрация: 18.07.2013
Сообщений: 2
#1

in-app billing

21.07.2013, 12:05. Просмотров 1952. Ответов 3
Метки нет (Все метки)

Не получается внедрить встроенный платеж , как по инструции:
http://www.techotopia.com/index.php/...%93_A_Tutorial
Выдает ошибку приложения при запуске.
Вот что составлено:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
package com.simplev3;
import com.android.vending.billing.util.IabHelper;
import com.android.vending.billing.util.IabResult;
import com.android.vending.billing.util.Inventory;
import com.android.vending.billing.util.Purchase;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
 
 
private static final String TAG = "com.simplev3";
IabHelper mHelper;
static final String ITEM_SKU = "android.test.purchased";
private Button clickButton;
private Button buyButton;
 
 
@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
 
  buyButton = (Button)findViewById(R.id.buyButton);
  clickButton = (Button)findViewById(R.id.clickButton);
  clickButton.setEnabled(false);
  String base64EncodedPublicKey = "ewgerghehgergh";
           
         mHelper = new IabHelper(this, base64EncodedPublicKey);
   
         mHelper.startSetup(new
  IabHelper.OnIabSetupFinishedListener() {
                   public void onIabSetupFinished(IabResult result)
    {
                         if (!result.isSuccess()) {
                            Log.d(TAG, "In-app Billing setup failed: " +
    result);
                   } else {                     
                            Log.d(TAG, "In-app Billing is set up OK");
           }
            }
         });
}
 
public void buttonClicked (View view)
{
  clickButton.setEnabled(false);
  buyButton.setEnabled(true);
}
public class InAppBillingActivity extends Activity {
  private static final String TAG = "com.example.inappbilling";
  IabHelper mHelper;
  static final String ITEM_SKU = "android.test.purchased";
 
 
  public void buyClick(View view) {
                 mHelper.launchPurchaseFlow(this, ITEM_SKU, 10001,  
                  mPurchaseFinishedListener, "");
}
 
  @Override
  protected void onActivityResult(int requestCode, int resultCode,
           Intent data)
  {
            if (!mHelper.handleActivityResult(requestCode,
                            resultCode, data)) {        
           super.onActivityResult(requestCode, resultCode, data);
            }
  }
 
 
  IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener
  = new IabHelper.OnIabPurchaseFinishedListener() {
  public void onIabPurchaseFinished(IabResult result,
                                         Purchase purchase)
  {
         if (result.isFailure()) {
            // Handle error
            return;
   }     
   else if (purchase.getSku().equals(ITEM_SKU)) {
           consumeItem();
          buyButton.setEnabled(false);
  }
           
    }
};
 
public void consumeItem() {
  mHelper.queryInventoryAsync(mReceivedInventoryListener);
}
 
IabHelper.QueryInventoryFinishedListener mReceivedInventoryListener
    = new IabHelper.QueryInventoryFinishedListener() {
         public void onQueryInventoryFinished(IabResult result,
            Inventory inventory) {
                  
            if (result.isFailure()) {
         // Handle failure
            } else {
                                  mHelper.consumeAsync(inventory.getPurchase(ITEM_SKU),
    mConsumeFinishedListener);
            }
         }
};
 
IabHelper.OnConsumeFinishedListener mConsumeFinishedListener =
         new IabHelper.OnConsumeFinishedListener() {
          public void onConsumeFinished(Purchase purchase,
                           IabResult result) {
    if (result.isSuccess()) {      
                 clickButton.setEnabled(true);
    } else {
                    // handle error
    }
    }
  };
 
  @Override
  public void onDestroy() {
   super.onDestroy();
   if (mHelper != null) mHelper.dispose();
   mHelper = null;
  }
 
 
}
 
 
 
@Override
public boolean onCreateOptionsMenu(Menu menu) {
  // Inflate the menu; this adds items to the action bar if it is present.
  getMenuInflater().inflate(R.menu.main, menu);
  return true;
}
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.07.2013, 12:05
Ответы с готовыми решениями:

In app billing
Здравствуйте, возникла такая проблема: реализовал у себя biling, точнее взял...

In-app Billing API
Изучаю внедрение In-App Purchase в приложение. Хотел по этому руководству...

Какой In-App Billing лучше выбрать?
Все дело в том, что приложение будет распространяться не только в...

in-app billing тестирование приобретения внутренних продуктов
не могу понять как протестировать покупки и чтобы с карточки не снимало....

In-app billing - для одного девайса или нескольких?
Такой вопрос, например, в приложении реализована функция in-app billing, при...

3
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
21.07.2013, 12:20 #2
битва экстрасенсов, угадайте какая ошибка вылетает у автора
0
Zima41
0 / 0 / 0
Регистрация: 18.07.2013
Сообщений: 2
22.07.2013, 09:03 #3
V0v1k Неожиданная остановка приложения. тот самый процесс com.simplev3
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
22.07.2013, 23:07 #4
я понимаю что приложение неожиданно остановилось, оно всегда неожиданно останавливается, но нам нужен stack trace екзепшене или, проще говоря, логи.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.07.2013, 23:07

Resolved versions for app (XX.X.X) and test app (XX.X.X) differ
Добрый день. При сборке проекта с отключенным телефоном (для запуска)...

Ошибка: Платежная служба недоступна на устройстве . (ответ : 3 : Billing Недоступен )
Пытаюсь запустить проект из примера в соcтаве AndroidStudio. Вставил реальные...

Drawing App
Здравствуйте.Имеется некий опыт работы в c#,однако в java новичок.Нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru