0.3.15 рд╣реИ
рдПрдВрдбреНрд░реЙрдпрдб
рд╕рднреА рдЙрддреНрдкрд╛рдж рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
рд╕рднреА iOS рдкрд░ рдареАрдХ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди getProducts рд╣рдореЗрд╢рд╛ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдПрдХ рдЦрд╛рд▓реА рд╕рд░рдгреА рд▓реМрдЯрд╛рддреЗ рд╣реИрдВред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдкреНрд░рддреНрдпреЗрдХ рдХрджрдо рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛ ...
рдПрдкреНтАНрд▓рд┐рдХреЗрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рдХреЗ рд╕рд╛рде рдмрд┐рд▓рд┐рдВрдЧ рдЕрдкрд▓реЛрдб / рдорд░реНрдЪреЗрдВрдЯ рдЕрдХрд╛рдЙрдВрдЯ рд╕реЗрдЯ рдЕрдк / рдХреНрд░рд┐рдПрдЯ рдХрд░реЗрдВ ...
рдПрдХ рд╣реА рдореБрджреНрджрд╛ рдпрд╣рд╛рдБ
рдореЗрд░рд╛ рд╕реНрдирд┐рдкреЗрдЯ:
RNIap.prepare().then(responsePrepare => {
console.log("=============>responsePrepare:" + responsePrepare);
RNIap.getProducts(itemSkus).then(response => {
this.setState({ items : response});
console.log("=============>response:" + JSON.stringify(response));
});
});
Adb.logcat (Android) рдкрд░ рдореЗрд░реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛
208 28473 28524 I ReactNativeJS: рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдЪрд▓ рд░рд╣реЗ "рдкрд░реАрдХреНрд╖рдгрдЖрдИрдПрдкреА" рдРрдкрдкрд░рд╛рдо: {"рд░реВрдЯрдЯреИрдЧ": 11}ред __DEV__ === рд╕рдЪ, рд╡рд┐рдХрд╛рд╕-рд╕реНрддрд░реАрдп рдЪреЗрддрд╛рд╡рдиреА рдЪрд╛рд▓реВ рд╣реИ, рдкреНрд░рджрд░реНрд╢рди рдЕрдиреБрдХреВрд▓рди рдмрдВрдж рд╣реИрдВ
режрек-реирел рез50: режрек: режрек.реиреи: резрезрекреж резрезрелреж рдореИрдВ рдЦрд╛рддрд╛ рдкреНрд░рдмрдВрдзрдХ рд╕реЗрд╡рд╛: getTypesVoubleToCaller: isPermitted? рд╕рдЪ
режрек-реирел рез59: режрек: режрек.реирейреж резрезрекреж реирежрел реп рдореИрдВ рдЦрд╛рддрд╛ рдкреНрд░рдмрдВрдзрдХ рд╕реЗрд╡рд╛: getTypesVoubleToCaller: isPermitted? рд╕рдЪ
04-25 17: 04: 04.232 24842 24933 I Finsky: [4061] com.google.android.finsky.billing.iab.ab.b.b (46): com.projectbundle: рдкрд╣рд▓реЗ рдЦрд╛рддреЗ рдХреЗ рд▓рд┐рдП рдЦрд╛рддрд╛ - [uuAJBL1tLX2MAj69S-olEslXXXX
04-25 17: 04: 04.233 28473 28473 D RNIapModule: рдмрд┐рд▓рд┐рдВрдЧ рдХреНрд▓рд╛рдЗрдВрдЯ рддреИрдпрд╛рд░
04-25 17: 04: 04.303 28473 28524 I ReactNativeJS: =============> рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдкрдж: рдЕрд╢рдХреНрдд
04-25 17: 04: 04.308 28473 28524 I ReactNativeJS: =============> рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдкреНрд░реЗрдо: рдЕрд╢рдХреНрдд
режрек-реирел рез7: режрек: режрек.рейреи40 резрезрекреж реирезреж Account рдореИрдВ рдЦрд╛рддрд╛ рдкреНрд░рдмрдВрдзрдХ рд╕реЗрд╡рд╛: getTypesVoubleToCaller: isPermitted? рд╕рдЪ
режрек-реирел рез96: режрек: режрек.рейрейреж резрезрекреж рез Account реп рем рдореИрдВ рдЦрд╛рддрд╛ рдкреНрд░рдмрдВрдзрдХ рд╕реЗрд╡рд╛: getTypesVoubleToCaller: isPermitted? рд╕рдЪ
режрек-реирел рез95: режрек: режрек.рейрей реп резрезрекреж реиреж реп рел рдореИрдВ рдЦрд╛рддрд╛ рдкреНрд░рдмрдВрдзрдХ рд╕реЗрд╡рд╛: getTypesVoubleToCaller: isPermitted? рд╕рдЪ
режрек-реирел рез79: режрек: режрек.рейрекреж резрезрекреж резрем Account реп рдореИрдВ рдЦрд╛рддрд╛ рдкреНрд░рдмрдВрдзрдХ рд╕реЗрд╡рд╛: getTypesVoubleToCaller: isPermitted? рд╕рдЪ
04-25 17: 04: 04.343 24842 24854 I Finsky: [4020] com.google.android.finsky.billing.iab.ab.b.b (46): com.projectbundle: рдкрд╣рд▓реЗ рдЦрд╛рддреЗ рдХреЗ рд▓рд┐рдП рдЦрд╛рддрд╛ - [uuAJBL1tLX2MAj69S-olEslXXXX
04-25 17: 04: 04.347 24842 24853 I Finsky: [4019] com.google.android.finsky.billing.iab.ab.b.b (46): com.projectbundle: рдкрд╣рд▓реЗ рдЦрд╛рддреЗ рдХреЗ рд▓рд┐рдП рдЦрд╛рддрд╛ - [uuAJBL1tLX2MAj69S-olEslXXXX
04-25 17: 04: 04.626 28473 28525 D RNIapModule: responseCode: 0
04-25 17: 04: 04.628 28473 28525 D RNIapModule: responseCode: 0
04-25 17: 04: 04.669 28473 28524 I ReactNativeJS: =============> рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ []
04-25 17: 04: 04.693 28473 28524 I ReactNativeJS: =============> рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛: []
рд▓реЗрдХрд┐рди iOS рдХреЗ рд╕рд╛рде рдореБрдЭреЗ рдПрд░реЗрд╕ рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдлреЙрд░реНрдореЗрдЯ рдорд┐рд▓рддрд╛ рд╣реИред
PD1 рдореБрдЭреЗ https://medium.com/@dooboolab/react -native-in-app-buy-121622d26b67 рд╕реЗ рдЕрдиреБрд╢рдВрд╕рд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреА рд╣реИ
PD2 "рдореЗрд░реА рдорджрдж рдХрд░реЛ рдУрдмреА рд╡рд╛рди рдХреЗрдиреЛрдмреА рддреБрдо рдореЗрд░реА рдПрдХрдорд╛рддреНрд░ рдЖрд╢рд╛ рд╣реЛ"
Package.json рд╕реНрдирд┐рдкреЗрдЯ:
"рдирд┐рд░реНрднрд░рддрд╛": {
"рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛": "16.3.1",
"рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓рдХ": "0.55.3",
"рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рджреЗрд╢реА-рдЖрдИрдПрдкреА": "^ 0.3.18"
},
@vadermemo @martinberbesson рд╣рд╛рдп ~ рдХреНрдпрд╛ рдЖрдк itemSkus
рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ js рдХреЛрдб рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдЖрдкрдиреЗ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдХреА рддрд░рд╣ рд╕реЗрдЯ рдХрд┐рдпрд╛?
export const PURCHASE_ITEMS = Platform.select({
ios: [
'productid_1',
'productid_2',
],
android: [
'productid_1',
'productid_2',
],
});
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдбреНрд░рд╛рдлреНрдЯ рдРрдк рдкрд░реАрдХреНрд╖рдг рдЕрдм рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред рдЧрд╛рдЗрдб рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЕрдкрдиреЗ рдРрдк рдХреЛ рдЕрд▓реНрдлрд╛ рдпрд╛ рдмреАрдЯрд╛ рдЪреИрдирд▓ рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред
рд╣рд╛рдп @dooboolab
рдпрд╣ рдореЗрд░рд╛ рдбреЗрдЯрд╛ рд╣реИ
const рдЖрдЗрдЯрдорд╕реНрдХрд╕ = Platform.select ({
ios: [
'com.iap.cart',
'com.iap.doublecoins'
],
рдПрдВрдбреНрд░реЙрдпрдб: [
'рдбрдмрд▓',
'cart_1500'
],
};
рд╕рд╛рджрд░
PD1 рдореЗрд░рд╛ рдРрдк рдЕрд▓реНрдлрд╛ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рднреА рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИред
PD2 рдЕрдиреНрдп npm рдХреЗ рд╕рд╛рде, рдЬреИрд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓-рдмрд┐рд▓рд┐рдВрдЧ рдореИрдВ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ :(
@vadermemo рдпрд╣ рд╕реНрдореГрддрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрд░реЗ рд▓рд┐рдП рдЦрд░рд╛рдм рд╣реИ .. рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВред рдпрд╣ рдореЗрд░реЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдФрд░ рдЕрдзрд┐рдХ tomorow рдбрд┐рдмрдЧ рдХрд░реВрдБрдЧрд╛ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ tommorow рд╡рд╛рдкрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░реВрдБрдЧрд╛! рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреНрдпрд╛ рдЖрдк рдмрдпрд╛рди рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╣рд╛рдВ рдХреНрдпрд╛ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣рд╛ рд╣реИ?
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдПрдХ рдЕрд▓реНрдлрд╛ рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ... рдмрд┐рд▓рд┐рдВрдЧ рдЕрдиреБрдорддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рдПрдкреАрдХреЗ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ
@dooboolab рдЦреИрд░, рдЕрдЧрд░ рдЖрдкрдХреЗ рд▓рд┐рдП рдХреБрдЫ рдорджрдж рдореМрдЬреВрдж рд╣реИ, рддреЛ рд╢рд╛рдпрдж рдЕрдЧрд▓рд╛ рдмрд┐рдВрджреБ рд╣реИ:
рдЬрдм рдореИрдВрдиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓-рдмрд┐рд▓рд┐рдВрдЧ рдкрд░ рдбрд╛рд▓рд╛ рддреЛ рдореИрдВрдиреЗ рд╕рдВрд╕рд╛рдзрди рдлрд╝рд╛рдЗрд▓ "string.xml" рдореЗрдВ рдкрд░рдо рд╕реНрдЯреНрд░рд┐рдВрдЧ рдирд╛рдо = "RNB_GOOGLE_PLAY_LICENSE_KEY" рдбрд╛рд▓рд╛ред
рд▓реЗрдХрд┐рди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓-рдЖрдИрдПрдкреА рдореЗрдВ рдореИрдВ рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ред
рдЕрдЧрд▓реЗ рд▓реЙрдЧ рдореЗрдВ рдлреЗрдВрдХреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рдпрд╛рд╕ рдХреЛ рдкрдХрдбрд╝реЗрдВ:
const рдЖрдЗрдЯрдорд╕реНрдХрд╕ = Platform.select ({
ios: [
'predictorcart_1500',
],
рдПрдВрдбреНрд░реЙрдпрдб: [
'predictorcart_1500',
'android.test.purchased',
'android.test.canceled',
'android.test.refunded',
'android.test.item_unavailable',
],
};
рдХрдВрдкреЛрдиреЗрдВрдЯрдбрд┐рдорд╛рдЙрдВрдЯ рдкрд░ рдмрджрд▓рд╛рд╡
async рдШрдЯрдХрдбрд┐рдорд╛рдЙрдВрдЯ () {
рдкреНрд░рдпрддреНрди {
рдкреНрд░рддреАрдХреНрд╖рд╛ RNIap.prepare ();
рдЗрд╕ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░реЗрдВред рдЗрд╕реЗ ();
}
рдкрдХрдбрд╝рдирд╛ (рдЧрд▓рддреА рдХрд░рдирд╛) {
рд╕рд╛рдВрддреНрд╡рдирд╛.рджреНрд╡рд╛рд░рд╛ (рдЗрд░реЗрдЯрд╛ред рдЗрд░реЛрдб, рдЗрд░реЗрдЬрдореЗрдЬ);
}
}
рдбреЗрдЯрд╛ рдмрджрд▓реЗрдВ
getProductDetails = async () => {
рдкреНрд░рдпрддреНрди {
const рдЙрддреНрдкрд╛рджреЛрдВ = RNIap.getProducts (itemSkus) рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ;
рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ('=======> рдЙрддреНрдкрд╛рдж ::::', рдЙрддреНрдкрд╛рдж);
it.setState ({productDetails: products});
} рдкрдХрдбрд╝ (рдЧрд▓рддреА) {
рд╕рд╛рдВрддреНрд╡рдирд╛.рджреНрд╡рд╛рд░рд╛ (рдЗрд░реЗрдЯрд╛ред рдЗрд░реЛрдб, рдЗрд░реЗрдЬрдореЗрдЬ);
}
}
рдПрдХ рдмрдЯрди рд▓рдЧрд╛рдУ
\ _
рдРрдк рдХреЛ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд░рдЦреЗрдВ
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рджреЗрд╢реА рд░рди-рдПрдВрдбреНрд░реЙрдЗрдб --variant = рд░рд┐рд▓реАрдЬрд╝
6. рдЖрдорддреМрд░ рдкрд░ рд▓реЙрдЧ рдЕрдЧрд▓реЗ рд╣реИ:
04-26 12: 53: 11.335 16749 16759 I Finsky: [11707] com.google.android.finsky.billing.iab.ab.b.b (46): com.projectbundle - рдкрд╣рд▓реЗ рдЦрд╛рддреЗ рд╕реЗ рдЦрд╛рддрд╛ - [uuAJBL1tLX2MAj69-olEl331212
04-26 12: 53: 11.401 226 1177 V рдСрдбрд┐рдпреЛ_hw_primary: do_output_standby in
04-26 12: 53: 11.409 20362 20432 D RNIapModule: responseCode: 0
04-26 12: 53: 11.426 226 1177 рдбрдмреНрд▓реНрдпреВ рдСрдбрд┐рдпреЛ_hw_primary: do_output_standby.mode: 0
04-26 12: 53: 11.426 226 1177 V рдСрдбрд┐рдпреЛ_hw_primary: do_output_standby in
режрек-реирем резреи: релрей: резрез.рекреи40 резрезрекреж реирезрежрем рдбреА рдкреЙрд╡рд░рдореИрдирдЬрд░ рд╕рд░реНрд╡рд┐рд╕: рд░рд┐рд▓реАрдЬрд╝рд╡реЙрдХрдХреМрди рд╕рд╛рднрд╛рд░: рд▓реЙрдХ = [[резрекрем = 8 [рдСрдбрд┐рдпреЛрдорд┐рдХреНрд╕], рдЭрдВрдбреЗ = режxреж, рдХреБрд▓_рдЯрд╛рдЗрдо = рейрезремрем
04-26 12: 53: 11.444 20362 20431 I ReactNativeJS: '=======> рдЙрддреНрдкрд╛рдж ::::', [{рд╡рд┐рд╡рд░рдг: 'Descripci├│n de muestra para el producto: Android.test.canceledред'ред
04-26 12: 53: 11.444 20362 20431 I ReactNativeJS: рд╢реАрд░реНрд╖рдХ: 'рдЯреАрддреБрд▓реЛ рдбреА рдореБрдПрд╕реНрдЯреНрд░рд╛',
04-26 12: 53: 11.444 20362 20431 I ReactNativeJS: рд╕реНрдерд╛рдиреАрдпрдХреГрддрдкреНрд░рдХрд╛рд░: '$ 18.65',
04-26 12: 53: 11.444 20362 20431 I ReactNativeJS: рдкреНрд░рдХрд╛рд░: 'рдЕрдиреБрдкрдпреБрдХреНрдд',
04-26 12: 53: 11.444 20362 20431 I ReactNativeJS: рдореБрджреНрд░рд╛: 'рдПрдордПрдХреНрд╕рдПрди'
04-26 12: 53: 11.444 20362 20431 I ReactNativeJS: рдореВрд▓реНрдп: '1865 ','ред
04-26 12: 53: 11.444 20362 20431 I ReactNativeJS: productId: 'android.test.canceled'},
04-26 12: 53: 11.444 20362 20431 I ReactNativeJS: {рд╡рд┐рд╡рд░рдг: 'Descripci├│n de muestra para el producto: android.test.item_unavailableред'ред
04-26 12: 53: 11.444 20362 20431 I ReactNativeJS: рд╢реАрд░реНрд╖рдХ: 'рдЯреАрддреБрд▓реЛ рдбреА рдореБрдПрд╕реНрдЯреНрд░рд╛',
04-26 12: 53: 11.444 20362 20431 I ReactNativeJS: рд╕реНрдерд╛рдиреАрдпрдХреГрддрдкреНрд░рдХрд╛рд░: '$ 18.65',
04-26 12: 53: 11.444 20362 20431 I ReactNativeJS: рдкреНрд░рдХрд╛рд░: 'рдЕрдиреБрдкрдпреБрдХреНрдд',
04-26 12: 53: 11.444 20362 20431 I ReactNativeJS: рдореБрджреНрд░рд╛: 'рдПрдордПрдХреНрд╕рдПрди'
04-26 12: 53: 11.444 20362 20431 I ReactNativeJS: рдореВрд▓реНрдп: '1865 ','ред
04-26 12: 53: 11.444 20362 20431 I ReactNativeJS: productId: 'android.test.item_unavailable'},
04-26 12: 53: 11.444 20362 20431 I ReactNativeJS: {рд╡рд┐рд╡рд░рдг: 'Descripci├│n de muestra para el producto: android.test.purchasedред'ред
режрек-реирем резреи: релрей: резрез.рекрекрек реирежрейремреи реирежрекрейрез рдореИрдВ рд░рд┐рдПрдХреНрдЯрдирд╡реЗрдЯрд┐рд╡рдЬрд╕: рд╢реАрд░реНрд╖рдХ: 'рдЯрд┐рдЯреБрд▓реЛ рдбреА рдореБрдПрд╕реНрдЯреНрд░рд╛',
04-26 12: 53: 11.444 20362 20431 I ReactNativeJS: рд╕реНрдерд╛рдиреАрдпрдХреГрддрдкреНрд░рдХрд╛рд░: '$ 18.65',
04-26 12: 53: 11.444 20362 20431 I ReactNativeJS: рдкреНрд░рдХрд╛рд░: 'рдЕрдиреБрдкрдпреБрдХреНрдд',
04-26 12: 53: 11.444 20362 20431 I ReactNativeJS: рдореБрджреНрд░рд╛: 'рдПрдордПрдХреНрд╕рдПрди'
04-26 12: 53: 11.444 20362 20431 I ReactNativeJS: рдореВрд▓реНрдп: '1865', 'ред
04-26 12: 53: 11.444 20362 20431 I ReactNativeJS: productId: 'android.test.purchased'},
04-26 12: 53: 11.444 20362 20431 I ReactNativeJS: {рд╡рд┐рд╡рд░рдг: 'Descripci├│n de muestra para el producto: android.test.refundedред'ред
04-26 12: 53: 11.444 20362 20431 I ReactNativeJS: рд╢реАрд░реНрд╖рдХ: 'рдЯреАрддреБрд▓реЛ рдбреА рдореБрдПрд╕реНрдЯреНрд░рд╛',
04-26 12: 53: 11.444 20362 20431 I ReactNativeJS: рд╕реНрдерд╛рдиреАрдпрдХреГрддрдкреНрд░рдХрд╛рд░: '$ 18.65',
04-26 12: 53: 11.444 20362 20431 I ReactNativeJS: рдкреНрд░рдХрд╛рд░: 'рдЕрдиреБрдкрдпреБрдХреНрдд',
04-26 12: 53: 11.444 20362 20431 I ReactNativeJS: рдореБрджреНрд░рд╛: 'рдПрдордПрдХреНрд╕рдПрди'
04-26 12: 53: 11.444 20362 20431 I ReactNativeJS: рдореВрд▓реНрдп: '1865', 'ред
04-26 12: 53: 11.444 20362 20431 I ReactNativeJS: productId: 'android.test.refunded'}]
@martinberbesson рдореЗрд░реЗ рдкрд╛рд╕ рдЕрд▓реНрдлрд╛ рд░рд┐рд▓реАрдЬ рдкрд░ рдПрдХ рдРрдк рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдореИрдВ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдФрд░ рдмрд╛рдд рд╣реИ, рд╢рд╛рдпрдж рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рджреЗрд╢реА-рдЖрдИрдПрдкреА рдпрд╛ Google рдХрдВрд╕реЛрд▓ рдореЗрдВ рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рдиред
@martinberbesson @dooboolab рдЕрддреБрд▓реНрдп !!
рдореИрдВрдиреЗ рдЙрд╕реА рдЪрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рдРрдк рдмрдирд╛рдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдРрдк рдЖрдИрдУрдПрд╕ рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ !!ред рдореИрдВ рдпрд╣ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред
рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдХрд╛рд░рдг рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдб рдпрд╛ Google рдХрдВрд╕реЛрд▓ рдкрд░ рдХреБрдЫ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИред
рдкреАрдбреА рдореИрдВ рд╕рд╣реА рдЖрдЗрдЯрдо рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП 5 рдШрдВрдЯреЗ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рдерд╛ред
PD2 рдкреБрд░рд╛рдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ 24 рдШрдВрдЯреЗ рдХреЗ рд╕рд╛рде рднреА рдЖрдЗрдЯрдо рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣реЗ рд╣реИрдВред
PD3 @dooboolab рдЕрдм рдЖрдк рд╢рд╛рдВрдд рд╕реЛ рд╕рдХрддреЗ рд╣реИрдВред :)
PD4 рдореИрдВ рдЦрд░реАрдж рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░реВрдВрдЧрд╛, рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЖрд╕рд╛рди рд╣реИ
рд╕рд╛рджрд░,
@vadermemo рдЦреБрд╢реА рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, Android рдХреЗ рд▓рд┐рдП рдирдП iap рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдЬреЛ v3 рд╣реИ, рдЖрдкрдХреЛ string.xml
рдореЗрдВ рдХреБрдЫ рдФрд░ рдбрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдкреНрд░рддрд┐ # 124 рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рднреА рд╣реЛ рд░рд╣рд╛ рд╣реИ - рдХрдо рд╕реЗ рдХрдо рдореМрдЬреВрджрд╛ рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЗрд╕ рдХреЗ рд▓рд┐рдП рднреА рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред
рдЬреЛ рдХреЛрдИ рднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдЙрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ https://stackoverflow.com/a/35132936/1374827 рдкрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЖрдк рдЙрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╕рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВред
рдпрджрд┐ рд╡рд╣ рд╕рд╛рдорд╛рди рд╕рднреА рдЕрдЪреНрдЫрд╛ рд╣реИ, рддреЛ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдЖрдк рдЙрдкрдпреБрдХреНрдд рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмреБрд▓рд╛ рд░рд╣реЗ рд╣реИрдВред рдореЗрд░реЗ рд▓рд┐рдП, рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдРрдк рдерд╛, рдЬрд╣рд╛рдВ рдореИрдВ рдХреЗрд╡рд▓ рд╕рдмреНрд╕рдХреНрд░рд┐рдкреНрд╢рди-рдЗрди-рдРрдк рдЦрд░реАрджрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЧрд▓рддреА рд╕реЗ RNIap.getProducts
рдХреЙрд▓ рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЦрд╛рд▓реА рд╕рд░рдгреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рдерд╛ред рдореБрдЭреЗ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп RNIap.getSubscriptions
рдХреЙрд▓ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдФрд░ рд╕рджрд╕реНрдпрддрд╛рдПрдБ рдлрд┐рд░ рд╕реЗ рд▓реМрдЯрд╛ рджреА рдЧрдИрдВред
рдпрджрд┐ рдЖрдк рдХреЛрдИ рдЙрддреНрдкрд╛рдж рдЦрд░реАрдж рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЙрд╕реА рдирд╕ рдореЗрдВ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк RNIap.buySubscription
рдХреЙрд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ RNIap.buyProduct
ред
рдареАрдХ рд╣реИ, рдЗрд╕ рдХреЗ рд╕рд╛рде рдХреБрд╢реНрддреА рдХреЗ рдмрд╛рдж, рдореЗрд░рд╛ рдореБрджреНрджрд╛ Android рдХреЗ рд╕рд╛рде рдореЗрд░реА рдЕрдиреБрднрд╡рд╣реАрдирддрд╛ рдирд┐рдХрд▓рд╛ред рдореИрдВ рджреЗрд╡ рдореЗрдВ рдкреИрдХреЗрдЬ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдЦрд┐рд▓рд╡рд╛рдбрд╝ рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ рдЬрдм рдпрд╣ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдареАрдХ рдЪрд▓рддрд╛ рдерд╛, рддреЛ рдкреИрдХреЗрдЬ рдХрд╛ рдирд╛рдо рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рдерд╛ рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЦрд╛рд▓реА рд╕рд░рдгреА рд▓реМрдЯрд╛ рд░рд╣рд╛ рдерд╛ред рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЗрди рдЪрд░рдгреЛрдВ рдХрд╛ рдФрд░ рдЗрди рдпрд╣ рд╕рдм рджреЗрдЦ рдЕрдЪреНрдЫрд╛ рд╣реИред
рдореБрдЭреЗ рднреА рдЦрд╛рд▓реА рд╕рд░рдгреА рдорд┐рд▓ рд░рд╣реА рд╣реИ,
рдФрд░ рдореИрдВ https://developer.android.com/google/play/billing/billing_testing#draft_apps doc рдХреЗ рд╕рд╛рде рднреНрд░рдорд┐рдд рд╣реВрдВ, рдХрд┐ рдореБрдЭреЗ рдкрд░реАрдХреНрд╖рдг рдЦрд╛рддрд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдкрд░реАрдХреНрд╖рдХ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдХреГрдкрдпрд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рдореЗрд░реА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдзрдиреНрдпрд╡рд╛рдж!
рд╡рд╣реА
@bharatidudhjiya @tmjordan рдпрджрд┐ рдЖрдк рд▓реЛрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╢реБрджреНрдз Android iap
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ Android рдХреЗ iap
sdk рдкрд░ рдмреЗрд╣рддрд░ рд╕рдордЭрдиреЗ рдореЗрдВ рднреА рдорджрдж рдХрд░реЗрдЧрд╛ред
@ рдпреЛрдЪрди рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред рдореИрдВ рд╡рд╣ рдХрд░ рд▓реВрдВрдЧрд╛
@tmjordan рдпрд╣ рдХрд╛рдлреА рдкреБрд░рд╛рдирд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдЖрдкрдХреЛ рдмреЗрд╕рд┐рдХ рд╕реЗрдЯрдЕрдк рдореЗрдВ рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИред
рд╢реБрдХреНрд░рд┐рдпрд╛ рдпрд╛рд░ @hyochan
рдореИрдВрдиреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛! рдореИрдВ рдЗрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ,
react-native-iap: ^4.3.0
react-native: 0.60.5
рдмрд╕ рдЗрд╕реЗ рдРрд╕реЗ рд╣реА рдХрд░реЛ
const itemSkus = Platform.select({
ios: [
'100coins' // just remove bundle id from product id
],
android: [
'100coins' // just remove bundle id from product id
]
});
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдкреИрдХреЗрдЬ рдирд╛рдо рд╣реИред
рдФрд░ рдпрджрд┐ рдЖрдкрдиреЗ рдЗрд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ рдХрдорд╛рдВрдб рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИред рдпрд╣ рдЕрднреА рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рдЖрдкрдХреЛ рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдлрд┐рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд╛рдл рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдПрдВрдбреНрд░реЙрдЗрдб рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрд╡рдЪреНрдЫ /рдЧреНрд░реЗрдб рдХрд░реЗрдВред
рдЗрд╕рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдЖрдЬрдорд╛рдПрдВред
рд╣реИрдкреНрдкреА рдХреЛрдбрд┐рдВрдЧред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
@vadermemo @martinberbesson рд╣рд╛рдп ~ рдХреНрдпрд╛ рдЖрдк
itemSkus
рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ js рдХреЛрдб рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдЖрдкрдиреЗ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдХреА рддрд░рд╣ рд╕реЗрдЯ рдХрд┐рдпрд╛?рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдбреНрд░рд╛рдлреНрдЯ рдРрдк рдкрд░реАрдХреНрд╖рдг рдЕрдм рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред рдЧрд╛рдЗрдб рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЕрдкрдиреЗ рдРрдк рдХреЛ рдЕрд▓реНрдлрд╛ рдпрд╛ рдмреАрдЯрд╛ рдЪреИрдирд▓ рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред