{"id":123878,"date":"2024-02-26T08:55:56","date_gmt":"2024-02-26T08:55:56","guid":{"rendered":"https:\/\/wp-prod-new.adapty.io\/sdk\/react-native\/"},"modified":"2025-05-07T10:16:29","modified_gmt":"2025-05-07T10:16:29","slug":"react-native","status":"publish","type":"sdk","link":"https:\/\/adapty.io\/pt\/sdk\/react-native\/","title":{"rendered":"React Native"},"content":{"rendered":"\n
makePurchase<\/strong><\/summary>\n
\r\n\r\n \r\n
\/\/ Your app's code<\/span><\/span>\r\ntry<\/span> {<\/span><\/span>\r\n  const<\/span> purchaseResult<\/span> =<\/span> await<\/span> adapty<\/span>.<\/span>makePurchase<\/span>(<\/span>product<\/span>)<\/span>;<\/span><\/span>\r\n  switch<\/span> (<\/span>purchaseResult<\/span>.<\/span>type<\/span>) <\/span>{<\/span><\/span>\r\n    case<\/span> '<\/span>success<\/span>'<\/span>:<\/span><\/span>\r\n      const<\/span> isSubscribed<\/span> =<\/span> purchaseResult<\/span>.<\/span>profile<\/span>?.<\/span>accessLevels<\/span>[<\/span>'<\/span>YOUR_ACCESS_LEVEL<\/span>'<\/span>]<\/span>?.<\/span>isActive<\/span>;<\/span><\/span>\r\n      if<\/span> (<\/span>isSubscribed<\/span>) <\/span>{<\/span><\/span>\r\n        \/\/ Grant access to the paid features<\/span><\/span>\r\n      }<\/span><\/span>\r\n      break<\/span>;<\/span><\/span>\r\n    case<\/span> '<\/span>user_cancelled<\/span>'<\/span>:<\/span><\/span>\r\n      \/\/ Handle the case where the user canceled the purchase<\/span><\/span>\r\n      break<\/span>;<\/span><\/span>\r\n    case<\/span> '<\/span>pending<\/span>'<\/span>:<\/span><\/span>\r\n      \/\/ Handle deferred purchases (e.g., the user will pay offline with cash)<\/span><\/span>\r\n      break<\/span>;<\/span><\/span>\r\n  }<\/span><\/span>\r\n}<\/span> catch<\/span> (error) <\/span>{<\/span><\/span>\r\n  \/\/ Handle the error<\/span><\/span>\r\n}<\/span><\/span><\/code><\/pre>\r\n<\/div>\n<\/details>\n\n
restorePurchase<\/strong><\/summary>\n
\r\n\r\n \r\n
\/\/ Your app's code<\/span><\/span>\r\ntry<\/span> {<\/span><\/span>\r\n\tconst<\/span> profile<\/span> =<\/span> await<\/span> adapty<\/span>.<\/span>restorePurchases<\/span>()<\/span>;<\/span><\/span>\r\n  const<\/span> isSubscribed<\/span> =<\/span> profile<\/span>.<\/span>accessLevels<\/span>[<\/span>'<\/span>YOUR_ACCESS_LEVEL<\/span>'<\/span>]<\/span>?.<\/span>isActive<\/span>;<\/span><\/span>\r\n  \r\n\tif<\/span> (<\/span>isSubscribed<\/span>) <\/span>{<\/span><\/span>\r\n\t\t\/\/ restore access<\/span><\/span>\r\n\t}<\/span><\/span>\r\n}<\/span> catch<\/span> (error) <\/span>{<\/span><\/span>\r\n\t\/\/ handle the error<\/span><\/span>\r\n}<\/span><\/span>\r\n\r\n\r\n\r\n<\/code><\/pre>\r\n<\/div>\n<\/details>\n\n
identify<\/strong><\/summary>\n
\r\n\r\n \r\n
\/\/ Your app's code<\/span><\/span>\r\ntry<\/span> {<\/span><\/span>\r\n    await<\/span> adapty<\/span>.<\/span>identify<\/span>(<\/span>\"<\/span>YOUR_USER_ID<\/span>\"<\/span>)<\/span>;<\/span><\/span>\r\n    \/\/ successfully identified<\/span><\/span>\r\n}<\/span> catch<\/span> (error) <\/span>{<\/span><\/span>\r\n    \/\/ handle the error<\/span><\/span>\r\n}<\/span><\/span>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<\/code><\/pre>\r\n<\/div>\n<\/details>\n\n
updateProfile<\/strong><\/summary>\n
\r\n\r\n \r\n
\/\/ Your app's code<\/span><\/span>\r\ntry<\/span> {<\/span><\/span>\r\n    await<\/span> adapty<\/span>.<\/span>updateProfile<\/span>(<\/span>params<\/span>)<\/span>;<\/span><\/span>\r\n}<\/span> catch<\/span> (error) <\/span>{<\/span><\/span>\r\n    \/\/ handle `AdaptyError`<\/span><\/span>\r\n}<\/span><\/span>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<\/code><\/pre>\r\n<\/div>\n<\/details>\n\n
updateAttribution<\/strong><\/summary>\n
\r\n\r\n \r\n
import<\/span> {<\/span> adapty<\/span>,<\/span> AttributionSource<\/span> }<\/span> from<\/span> '<\/span>react-native-adapty<\/span>'<\/span>;<\/span><\/span>\r\nimport<\/span> appsFlyer <\/span>from<\/span> '<\/span>react-native-appsflyer<\/span>'<\/span>;<\/span><\/span>\r\n\r\nappsFlyer<\/span>.<\/span>onInstallConversionData<\/span>(<\/span>installData<\/span> =><\/span> {<\/span><\/span>\r\n  try<\/span> {<\/span><\/span>\r\n    const<\/span> uid<\/span> =<\/span> appsFlyer<\/span>.<\/span>getAppsFlyerUID<\/span>()<\/span>;<\/span><\/span>\r\n    adapty<\/span>.<\/span>setIntegrationIdentifier<\/span>(<\/span>\"<\/span>appsflyer_id<\/span>\"<\/span>,<\/span> uid<\/span>)<\/span>;<\/span><\/span>\r\n    adapty<\/span>.<\/span>updateAttribution<\/span>(<\/span>installData<\/span>,<\/span> \"<\/span>appsflyer<\/span>\"<\/span>)<\/span>;<\/span><\/span>\r\n  }<\/span> catch<\/span> (<\/span>error<\/span>) <\/span>{<\/span><\/span>\r\n    \/\/ handle the error<\/span><\/span>\r\n  }<\/span><\/span>\r\n}<\/span>)<\/span>;<\/span><\/span>\r\n\r\n\/\/ ...<\/span><\/span>\r\nappsFlyer<\/span>.<\/span>initSdk<\/span>(<\/span>\/*...*\/<\/span>)<\/span>;<\/span><\/span><\/code><\/pre>\r\n<\/div>\n<\/details>\n\n
Example<\/summary>\n
\r\n\r\n \r\n
import<\/span> {<\/span> adapty<\/span> }<\/span> from<\/span> '<\/span>react-native-adapty<\/span>'<\/span>;<\/span><\/span>\r\nawait<\/span> adapty<\/span>.<\/span>activate<\/span>(<\/span>'<\/span>YOUR_APP_KEY<\/span>'<\/span>)<\/span>;<\/span><\/span>\r\n\r\n\/\/ Make a purchase, Adapty handles the rest<\/span><\/span>\r\ntry<\/span> {<\/span><\/span>\r\n  const<\/span> purchaseResult<\/span> =<\/span> await<\/span> adapty<\/span>.<\/span>makePurchase<\/span>(<\/span>product<\/span>)<\/span>;<\/span><\/span>\r\n  if<\/span> (<\/span>purchaseResult<\/span>.<\/span>type<\/span> ===<\/span> '<\/span>success<\/span>'<\/span>) <\/span>{<\/span><\/span>\r\n    const<\/span> profile<\/span> =<\/span> purchaseResult<\/span>.<\/span>profile<\/span>;<\/span><\/span>\r\n    \/\/ successful purchase<\/span><\/span>\r\n  }<\/span><\/span>\r\n}<\/span> catch<\/span> (error) <\/span>{<\/span><\/span>\r\n  \/\/ handle the error<\/span><\/span>\r\n}<\/span><\/span><\/code><\/pre>\r\n<\/div>\n<\/details>\n","protected":false},"excerpt":{"rendered":"","protected":false},"featured_media":0,"parent":0,"menu_order":0,"template":"","page-builder":[],"class_list":["post-123878","sdk","type-sdk","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/adapty.io\/pt\/wp-json\/wp\/v2\/sdk\/123878","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/adapty.io\/pt\/wp-json\/wp\/v2\/sdk"}],"about":[{"href":"https:\/\/adapty.io\/pt\/wp-json\/wp\/v2\/types\/sdk"}],"version-history":[{"count":0,"href":"https:\/\/adapty.io\/pt\/wp-json\/wp\/v2\/sdk\/123878\/revisions"}],"wp:attachment":[{"href":"https:\/\/adapty.io\/pt\/wp-json\/wp\/v2\/media?parent=123878"}],"wp:term":[{"taxonomy":"page-builder","embeddable":true,"href":"https:\/\/adapty.io\/pt\/wp-json\/wp\/v2\/page-builder?post=123878"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}