Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
Zima41
Сообщений: n/a
#1

in-app billing - Программирование Android

21.07.2013, 12:05. Просмотров 1693. Ответов 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;
}
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.07.2013, 12:05     in-app billing
Посмотрите здесь:

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

In-app Billing API - Программирование Android
Изучаю внедрение In-App Purchase в приложение. Хотел по этому руководству сделать http://habrahabr.ru/post/117944/, а потом ещё немного...

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

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

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

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

Drawing App - Программирование Android
Здравствуйте.Имеется некий опыт работы в c#,однако в java новичок.Нужно приложения,в котором можно рисовать.Выбор цвета и так далее не так...

App Service - Программирование Android
Возможно ли как-то создать приложение, которое запускает сервис и при этом, если в дальнейшем удалить само приложение, то сервис останется...

bluestacks app player - Программирование Android
Установил эмулятор bluestacks app player, летает по сравнению со стандартным, но разрешение экрана под планшеты, а в настройках только...

Animation (like Clear app) - Программирование Android
Доброго времени суток, может кто знает как создать анимацию подобного уровня. Что для этого нужно использовать: обычный ListView или всё...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
21.07.2013, 12:20     in-app billing #2
битва экстрасенсов, угадайте какая ошибка вылетает у автора
Zima41
Сообщений: n/a
22.07.2013, 09:03     in-app billing #3
V0v1k Неожиданная остановка приложения. тот самый процесс com.simplev3
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
22.07.2013, 23:07     in-app billing #4
я понимаю что приложение неожиданно остановилось, оно всегда неожиданно останавливается, но нам нужен stack trace екзепшене или, проще говоря, логи.
Yandex
Объявления
22.07.2013, 23:07     in-app billing
Ответ Создать тему
Опции темы

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