mirror of
https://github.com/electron/electron.git
synced 2026-04-10 03:01:51 -04:00
feat: added username to IAP purchaseProduct method (#35902)
This commit is contained in:
@@ -178,9 +178,11 @@ v8::Local<v8::Promise> InAppPurchase::PurchaseProduct(
|
||||
|
||||
int quantity = 1;
|
||||
args->GetNext(&quantity);
|
||||
std::string username = "";
|
||||
args->GetNext(&username);
|
||||
|
||||
in_app_purchase::PurchaseProduct(
|
||||
product_id, quantity,
|
||||
product_id, quantity, username,
|
||||
base::BindOnce(gin_helper::Promise<bool>::ResolvePromise,
|
||||
std::move(promise)));
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@ std::string GetReceiptURL();
|
||||
|
||||
void PurchaseProduct(const std::string& productID,
|
||||
int quantity,
|
||||
const std::string& username,
|
||||
InAppPurchaseCallback callback);
|
||||
|
||||
} // namespace in_app_purchase
|
||||
|
||||
@@ -25,10 +25,12 @@
|
||||
@private
|
||||
in_app_purchase::InAppPurchaseCallback callback_;
|
||||
NSInteger quantity_;
|
||||
NSString* username_;
|
||||
}
|
||||
|
||||
- (id)initWithCallback:(in_app_purchase::InAppPurchaseCallback)callback
|
||||
quantity:(NSInteger)quantity;
|
||||
quantity:(NSInteger)quantity
|
||||
username:(NSString*)username;
|
||||
|
||||
- (void)purchaseProduct:(NSString*)productID;
|
||||
|
||||
@@ -45,10 +47,12 @@
|
||||
* to the queue.
|
||||
*/
|
||||
- (id)initWithCallback:(in_app_purchase::InAppPurchaseCallback)callback
|
||||
quantity:(NSInteger)quantity {
|
||||
quantity:(NSInteger)quantity
|
||||
username:(NSString*)username {
|
||||
if ((self = [super init])) {
|
||||
callback_ = std::move(callback);
|
||||
quantity_ = quantity;
|
||||
username_ = [username copy];
|
||||
}
|
||||
|
||||
return self;
|
||||
@@ -107,6 +111,7 @@
|
||||
// when the transaction is finished).
|
||||
SKMutablePayment* payment = [SKMutablePayment paymentWithProduct:product];
|
||||
payment.quantity = quantity_;
|
||||
payment.applicationUsername = username_;
|
||||
|
||||
[[SKPaymentQueue defaultQueue] addPayment:payment];
|
||||
|
||||
@@ -128,6 +133,11 @@
|
||||
[self release];
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
[username_ release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
// ============================================================================
|
||||
@@ -183,9 +193,12 @@ std::string GetReceiptURL() {
|
||||
|
||||
void PurchaseProduct(const std::string& productID,
|
||||
int quantity,
|
||||
const std::string& username,
|
||||
InAppPurchaseCallback callback) {
|
||||
auto* iap = [[InAppPurchase alloc] initWithCallback:std::move(callback)
|
||||
quantity:quantity];
|
||||
auto* iap = [[InAppPurchase alloc]
|
||||
initWithCallback:std::move(callback)
|
||||
quantity:quantity
|
||||
username:base::SysUTF8ToNSString(username)];
|
||||
|
||||
[iap purchaseProduct:base::SysUTF8ToNSString(productID)];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user