Add signals and a check function for Android service connectivity.
- Add a iap_connect and iap_disconnect events for android platform. - Add isConnected() function returning true if its connected to android service, false otherwise
This commit is contained in:
parent
3155da8dfc
commit
546b48813f
|
@ -67,7 +67,7 @@ public class GodotPaymentV3 extends Godot.SingletonBase {
|
|||
|
||||
public GodotPaymentV3(Activity p_activity) {
|
||||
|
||||
registerClass("GodotPayments", new String[]{"purchase", "setPurchaseCallbackId", "setPurchaseValidationUrlPrefix", "setTransactionId", "getSignature", "consumeUnconsumedPurchases", "requestPurchased", "setAutoConsume", "consume", "querySkuDetails"});
|
||||
registerClass("GodotPayments", new String[]{"purchase", "setPurchaseCallbackId", "setPurchaseValidationUrlPrefix", "setTransactionId", "getSignature", "consumeUnconsumedPurchases", "requestPurchased", "setAutoConsume", "consume", "querySkuDetails", "isConnected"});
|
||||
activity = (Godot) p_activity;
|
||||
mPaymentManager = activity.getPaymentsManager();
|
||||
mPaymentManager.setBaseSingleton(this);
|
||||
|
@ -164,6 +164,19 @@ public class GodotPaymentV3 extends Godot.SingletonBase {
|
|||
GodotLib.calldeferred(purchaseCallbackId, "has_purchased", new Object[]{receipt, signature, sku});
|
||||
}
|
||||
|
||||
public void callbackDisconnected() {
|
||||
GodotLib.calldeferred(purchaseCallbackId, "iap_disconnected", new Object[]{});
|
||||
}
|
||||
|
||||
public void callbackConnected() {
|
||||
GodotLib.calldeferred(purchaseCallbackId, "iap_connected", new Object[]{});
|
||||
}
|
||||
|
||||
// true if connected, false otherwise
|
||||
public boolean isConnected() {
|
||||
return mPaymentManager.isConnected();
|
||||
}
|
||||
|
||||
// consume item automatically after purchase. default is true.
|
||||
public void setAutoConsume(boolean autoConsume) {
|
||||
mPaymentManager.setAutoConsume(autoConsume);
|
||||
|
|
|
@ -92,11 +92,21 @@ public class PaymentsManager {
|
|||
@Override
|
||||
public void onServiceDisconnected(ComponentName name) {
|
||||
mService = null;
|
||||
|
||||
// At this stage, godotPaymentV3 might not have been initialized yet.
|
||||
if (godotPaymentV3 != null) {
|
||||
godotPaymentV3.callbackDisconnected();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onServiceConnected(ComponentName name, IBinder service) {
|
||||
mService = IInAppBillingService.Stub.asInterface(service);
|
||||
|
||||
// At this stage, godotPaymentV3 might not have been initialized yet.
|
||||
if (godotPaymentV3 != null) {
|
||||
godotPaymentV3.callbackConnected();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -123,6 +133,10 @@ public class PaymentsManager {
|
|||
|
||||
}
|
||||
|
||||
public boolean isConnected() {
|
||||
return mService != null;
|
||||
}
|
||||
|
||||
public void consumeUnconsumedPurchases() {
|
||||
new ReleaseAllConsumablesTask(mService, activity) {
|
||||
|
||||
|
|
Loading…
Reference in New Issue