Code Monkey home page Code Monkey logo

minasamir11 / react-native-in-app-review Goto Github PK

View Code? Open in Web Editor NEW
630.0 8.0 52.0 1.34 MB

The Google Play In-App Review API, App store rating API lets you prompt users to submit Play Store or App store ratings and reviews without the inconvenience of leaving your app or game.

License: MIT License

Java 35.87% JavaScript 44.31% Objective-C 12.19% Ruby 3.89% Starlark 1.49% Swift 2.25%
react-native rating review-api playstore android review in-app-review react-native-in-app-review ios appstore

react-native-in-app-review's People

Contributors

alpha0010 avatar bytehala avatar comvenger-brandon avatar denianfossatti avatar devheedoo avatar lazerbeak12345 avatar mars-lan avatar metinarslanturk avatar minasamir11 avatar ogard avatar snyk-bot avatar solly74 avatar stephenth0ma5 avatar taylordale avatar wmaca avatar yonom avatar yuki383 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

react-native-in-app-review's Issues

Work with Expo?

I noticed this doesn't need to be linked, explicitly, but is that because links automatically? Or is there really no need to link; which means it will work with an Expo managed app?

Thanks!

Review modal not showing despite success result

So i am trying to implement this package in my app. I created a modal which has a button that triggers RequestInAppReview() function.

      function Rateus(){
        InAppReview.RequestInAppReview()
        .then((hasFlowFinishedSuccessfully) => {
    // when return true in android it means user finished or close review flow
    console.log('InAppReview in android', hasFlowFinishedSuccessfully);

    // when return true in ios it means review flow lanuched to user.
    console.log(
      'InAppReview in ios has lanuched successfully',
      hasFlowFinishedSuccessfully,
    );

    // 1- you have option to do something ex: (navigate Home page) (in android).
    // 2- you have option to do something,
    // ex: (save date today to lanuch InAppReview after 15 days) (in android and ios).

    // 3- another option:
    if (hasFlowFinishedSuccessfully) {
      // do something for ios
      // do something for android
    }

    // for android:
    // The flow has finished. The API does not indicate whether the user
    // reviewed or not, or even whether the review dialog was shown. Thus, no
    // matter the result, we continue our app flow.

    // for ios
    // the flow lanuched successfully, The API does not indicate whether the user
    // reviewed or not, or he/she closed flow yet as android, Thus, no
    // matter the result, we continue our app flow.
  })
  .catch((error) => {
    //we continue our app flow.
    // we have some error could happen while lanuching InAppReview,
    // Check table for errors and code number that can return in catch.
    console.log(error);
  });

      }

I am getting successfully launched console log but no modal is getting launched. My app is already on the play store. Is there any setup that i could be missing? Thanks in advance

android not showing rate popup : Class not found when unmarshalling: com.google.android.play.core.review.b

Hello,

Works on android 9 but on android 10 we have the following error , any idea why
Class not found when unmarshalling: com.google.android.play.core.review.b
?
Thanks

12660 13967 I PlayCore: UID: [10475] PID: [12660] ReviewService : requestInAppReview (com.xxx)
01-14 09:19:34.204 12660 14303 I PlayCore: UID: [10475] PID: [12660] ReviewService : Initiate binding to the service.
01-14 09:19:34.205 12660 13967 E isGooglePlayServicesAvailable: true
01-14 09:19:34.214 12660 12660 I PlayCore: UID: [10475] PID: [12660] ReviewService : ServiceConnectionImpl.onServiceConnected(ComponentInfo{com.android.vending/com.google.android.finsky.inappreviewservice.InAppReviewService})
01-14 09:19:34.215 12660 14303 I PlayCore: UID: [10475] PID: [12660] ReviewService : linkToDeath
01-14 09:19:34.239 12660 14303 I PlayCore: UID: [10475] PID: [12660] ReviewService : Unbind from service.
01-14 09:19:34.239 12660 12945 I PlayCore: UID: [10475] PID: [12660] OnRequestInstallCallback : onGetLaunchReviewFlowInfo
01-14 09:19:34.244 4941 15698 I ActivityTaskManager: START u0 {cmp=com.xxxx/com.google.android.play.core.common.PlayCoreDialogWrapperActivity (has extras)} from uid 10475
01-14 09:19:34.245 4941 15698 E Parcel : Class not found when unmarshalling: com.google.android.play.core.review.b
01-14 09:19:34.245 4941 15698 E Parcel : java.lang.ClassNotFoundException: com.google.android.play.core.review.b
01-14 09:19:34.245 4941 15698 E Parcel : at java.lang.Class.classForName(Native Method)
01-14 09:19:34.245 4941 15698 E Parcel : at java.lang.Class.forName(Class.java:454)
01-14 09:19:34.245 4941 15698 E Parcel : at android.os.Parcel.readParcelableCreator(Parcel.java:3031)
01-14 09:19:34.245 4941 15698 E Parcel : at android.os.Parcel.readParcelable(Parcel.java:2981)
01-14 09:19:34.245 4941 15698 E Parcel : at android.os.Parcel.readValue(Parcel.java:2883)
01-14 09:19:34.245 4941 15698 E Parcel : at android.os.Parcel.readArrayMapInternal(Parcel.java:3261)
01-14 09:19:34.245 4941 15698 E Parcel : at android.os.BaseBundle.initializeFromParcelLocked(BaseBundle.java:292)
01-14 09:19:34.245 4941 15698 E Parcel : at android.os.BaseBundle.unparcel(BaseBundle.java:236)
01-14 09:19:34.245 4941 15698 E Parcel : at android.os.BaseBundle.getString(BaseBundle.java:1160)
01-14 09:19:34.245 4941 15698 E Parcel : at android.content.Intent.getStringExtra(Intent.java:8548)
01-14 09:19:34.245 4941 15698 E Parcel : at com.android.server.wm.ActivityStarter.startActivity(ActivityStarter.java:790)
01-14 09:19:34.245 4941 15698 E Parcel : at com.android.server.wm.ActivityStarter.startActivity(ActivityStarter.java:694)
01-14 09:19:34.245 4941 15698 E Parcel : at com.android.server.wm.ActivityStarter.startActivityMayWait(ActivityStarter.java:1932)
01-14 09:19:34.245 4941 15698 E Parcel : at com.android.server.wm.ActivityStarter.execute(ActivityStarter.java:625)
01-14 09:19:34.245 4941 15698 E Parcel : at com.android.server.wm.ActivityTaskManagerService.startActivityAsUser(ActivityTaskManagerService.java:1707)
01-14 09:19:34.245 4941 15698 E Parcel : at com.android.server.wm.ActivityTaskManagerService.startActivityAsUser(ActivityTaskManagerService.java:1603)
01-14 09:19:34.245 4941 15698 E Parcel : at com.android.server.wm.ActivityTaskManagerService.startActivity(ActivityTaskManagerService.java:1557)
01-14 09:19:34.245 4941 15698 E Parcel : at android.app.IActivityTaskManager$Stub.onTransact(IActivityTaskManager.java:1690)
01-14 09:19:34.245 4941 15698 E Parcel : at android.os.Binder.execTransactInternal(Binder.java:1056)
01-14 09:19:34.245 4941 15698 E Parcel : at android.os.Binder.execTransact(Binder.java:1029)
01-14 09:19:34.245 4941 15698 E Parcel : Caused by: java.lang.ClassNotFoundException: com.google.android.play.core.review.b
01-14 09:19:34.245 4941 15698 E Parcel : ... 20 more
01-14 09:19:34.246 4941 15698 W Bundle : Failed to parse Bundle, but defusing quietly
01-14 09:19:34.246 4941 15698 W Bundle : android.os.BadParcelableException: ClassNotFoundException when unmarshalling: com.google.android.play.core.review.b
01-14 09:19:34.246 4941 15698 W Bundle : at android.os.Parcel.readParcelableCreator(Parcel.java:3059)
01-14 09:19:34.246 4941 15698 W Bundle : at android.os.Parcel.readParcelable(Parcel.java:2981)
01-14 09:19:34.246 4941 15698 W Bundle : at android.os.Parcel.readValue(Parcel.java:2883)
01-14 09:19:34.246 4941 15698 W Bundle : at android.os.Parcel.readArrayMapInternal(Parcel.java:3261)
01-14 09:19:34.246 4941 15698 W Bundle : at android.os.BaseBundle.initializeFromParcelLocked(BaseBundle.java:292)
01-14 09:19:34.246 4941 15698 W Bundle : at android.os.BaseBundle.unparcel(BaseBundle.java:236)
01-14 09:19:34.246 4941 15698 W Bundle : at android.os.BaseBundle.getString(BaseBundle.java:1160)
01-14 09:19:34.246 4941 15698 W Bundle : at android.content.Intent.getStringExtra(Intent.java:8548)
01-14 09:19:34.246 4941 15698 W Bundle : at com.android.server.wm.ActivityStarter.startActivity(ActivityStarter.java:790)
01-14 09:19:34.246 4941 15698 W Bundle : at com.android.server.wm.ActivityStarter.startActivity(ActivityStarter.java:694)
01-14 09:19:34.246 4941 15698 W Bundle : at com.android.server.wm.ActivityStarter.startActivityMayWait(ActivityStarter.java:1932)
01-14 09:19:34.246 4941 15698 W Bundle : at com.android.server.wm.ActivityStarter.execute(ActivityStarter.java:625)
01-14 09:19:34.246 4941 15698 W Bundle : at com.android.server.wm.ActivityTaskManagerService.startActivityAsUser(ActivityTaskManagerService.java:1707)
01-14 09:19:34.246 4941 15698 W Bundle : at com.android.server.wm.ActivityTaskManagerService.startActivityAsUser(ActivityTaskManagerService.java:1603)
01-14 09:19:34.246 4941 15698 W Bundle : at com.android.server.wm.ActivityTaskManagerService.startActivity(ActivityTaskManagerService.java:1557)
01-14 09:19:34.246 4941 15698 W Bundle : at android.app.IActivityTaskManager$Stub.onTransact(IActivityTaskManager.java:1690)
01-14 09:19:34.246 4941 15698 W Bundle : at android.os.Binder.execTransactInternal(Binder.java:1056)
01-14 09:19:34.246 4941 15698 W Bundle : at android.os.Binder.execTransact(Binder.java:1029)

Unable to start service Intent

Error after calling InAppReview.RequestInAppReview() (logcat logs):
Unable to start service Intent { act=com.google.android.finsky.BIND_IN_APP_REVIEW_SERVICE pkg=com.android.vending } U=0: not found
PlayCore: UID: [10159] PID: [2298] ReviewService : Failed to bind to the service.
com.google.android.play.core.tasks.RuntimeExecutionException: com.google.android.play.core.internal.aq: Failed to bind to the service.

"react-native-in-app-review": "^1.0.5"
"react": "16.11.0",
"react-native": "0.62.2",
Platform(s) (iOS, Android, or both?): Android

Its not working in IOS Testflight Build

In Android it working Fine. but in iOS TestFlight modal not showing.

try {
const isAvailable = await InAppReview.isAvailable();

if (!isAvailable) {
  return;
}

InAppReview.RequestInAppReview();

} catch (e) {}

Using gsuite email address will prevent reviews on android

Please refer to this issue: https://issuetracker.google.com/issues/167352813#comment15

Issue: If the user is logged into google play with an account using a Gsuite email address. The in-app review prompt will fail to work however "hasFlowFinishedSuccessfully" will always return true. I followed all troubleshooting steps to verify nothing else was causing this issue. Switching to a @gmail.com email address as the logged in user in google play fixed the issue. I have not tested this with any non-gmail email accounts.

Suggested fix: Until the bug is addressed by google, make note of this as a known issue in the readme file. It may save some people a lot of time and effort.

[CRASH][ANDROID] Fatal Exception: java.lang.NullPointerException

Hello, new one on Android devices.

Android Version: 8, 9, 10

Devices: P20 lite, Galaxy S10e, Galaxy S8, Galaxy A51, Redmi Note 7

Error:
Fatal Exception: java.lang.NullPointerException

Stack trace:

Fatal Exception: java.lang.NullPointerException
       at java.util.Objects.requireNonNull(Objects.java:203)
       at com.ibits.react_native_in_app_review.AppReviewModule.lambda$show$1(AppReviewModule.java:50)
       at com.ibits.react_native_in_app_review.-$$Lambda$AppReviewModule$bUmS5pB5E-8STvn0S-VVfLR6ozE.onComplete(-.java:4)
       at com.google.android.play.core.tasks.a.run(a.java:23)
       at android.os.Handler.handleCallback(Handler.java:907)
       at android.os.Handler.dispatchMessage(Handler.java:105)
       at android.os.Looper.loop(Looper.java:216)
       at android.app.ActivityThread.main(ActivityThread.java:7625)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)

Thanks.

Add listener to dialog buttons

It would be great if there was a way to add a listener from JS to the cancel and submit buttons so that we can know if presenting the dialog should happen later on or never again.

How to know if the review alert was shown or not? (analytics purposes)

I would like to track if the review alert was opened or not when calling a function InAppReview.RequestInAppReview(), some kind of callback or something so I could track if the review was already done by the user or not.

It's for analytics purposes, to know how many times we showed the user app review alert, and has closed it and if the alert was not showed then we can predict that the user already gave a review.

Its not working

Hi i am using and invoke this in react hook

 useEffect(() => {
   // _referalid();
	 InAppReview.RequestInAppReview();
	
  }, []);

But its not working at all.

in-app review card not showing in android both debug and release mode

environment

react-native: 0.63.2
react-native-in-app-review: ^3.2.2

description

first, i didn't write feedback for my app at play store.

i have installed this package and test if it show in-app review card.

<Button title="foo" onPress={() => {
  InAppReview.RequestInAppReview()
    .then((result) => console.log('in app review finished', result))
    .catch((e) => { ... ));
}} />

then just logging in app review finished true and not show in-app review card
(InAppReview.isAvailable() returns true)

so, i did below steps

  1. in Google play store, remove cooperation account, add personal account, log in with it.
  2. update test device at settings. (so google play store is latest version)
  3. remove installed my apps (both debug and release mode)
  4. build and run app with react-native start, react-native run-android
  5. it still not show in-app review card

but still not working.. ๐Ÿฅฒ
i want to check with new basic project. so, i create new project by npx reaact-native init

  1. install package
  2. call InAppReview.RequestInAppReview() with Button
  3. build and run app with react-native start, react-native run-android
  4. in android, not showing
  5. but in ios, it showing

i think it related with google or play store, but i don't know why.
and i didn't test app by test track in google play console.

InAppReview.isAvailable is not a function

`TypeError: InAppReview.isAvailable is not a function. (In 'InAppReview.isAvailable()', 'InAppReview.isAvailable' is undefined)

This error is located at:
in ViewTestingPage (at SceneView.tsx:122)
in StaticContainer
in StaticContainer (at SceneView.tsx:115)
in EnsureSingleNavigator (at SceneView.tsx:114)
in SceneView (at useDescriptors.tsx:153)
in RCTView (at View.js:34)
in View (at CardContainer.tsx:245)
in RCTView (at View.js:34)
in View (at CardContainer.tsx:244)
in RCTView (at View.js:34)
in View (at CardSheet.tsx:33)
in ForwardRef(CardSheet) (at Card.tsx:573)
in RCTView (at View.js:34)
in View (at createAnimatedComponent.js:165)
in AnimatedComponent (at createAnimatedComponent.js:215)
in ForwardRef(AnimatedComponentWrapper) (at Card.tsx:555)
in PanGestureHandler (at GestureHandlerNative.tsx:13)
in PanGestureHandler (at Card.tsx:549)
in RCTView (at View.js:34)
in View (at createAnimatedComponent.js:165)
in AnimatedComponent (at createAnimatedComponent.js:215)
in ForwardRef(AnimatedComponentWrapper) (at Card.tsx:544)
in RCTView (at View.js:34)
in View (at Card.tsx:538)
in Card (at CardContainer.tsx:206)
in CardContainer (at CardStack.tsx:620)
in RCTView (at View.js:34)
in View (at Screens.tsx:84)
in MaybeScreen (at CardStack.tsx:613)
in RCTView (at View.js:34)
in View (at Screens.tsx:54)
in MaybeScreenContainer (at CardStack.tsx:495)
in CardStack (at StackView.tsx:462)
in KeyboardManager (at StackView.tsx:458)
in RNCSafeAreaProvider (at SafeAreaContext.tsx:74)
in SafeAreaProvider (at SafeAreaProviderCompat.tsx:42)
in SafeAreaProviderCompat (at StackView.tsx:455)
in GestureHandlerRootView (at GestureHandlerRootView.android.js:31)
in GestureHandlerRootView (at StackView.tsx:454)
in StackView (at createStackNavigator.tsx:87)
in StackNavigator (at App.js:315)
in EnsureSingleNavigator (at BaseNavigationContainer.tsx:409)
in ForwardRef(BaseNavigationContainer) (at NavigationContainer.tsx:91)
in ThemeProvider (at NavigationContainer.tsx:90)
in ForwardRef(NavigationContainer) (at App.js:313)
in RCTView (at View.js:34)
in View (at App.js:311)
in RCTView (at View.js:34)
in View (at App.js:309)
in App (at renderApplication.js:45)
in RCTView (at View.js:34)
in View (at AppContainer.js:106)
in RCTView (at View.js:34)
in View (at AppContainer.js:132)
in AppContainer (at renderApplication.js:39)`

React-Native 0.63.4, Android 10 Emulator

buildToolsVersion causing Gradle failure

Hi! ๐Ÿ‘‹

Firstly, thanks for your work on this project! ๐Ÿ™‚

Today I used patch-package to patch [email protected] for the project I'm working on.

I just added [email protected] to my project and immediately ran into an issue where the package attempted to use build tools 28.0.3 for the Android. This caused Gradle to fail.

The Android build tools are now automatically selected based on the compileSdkVersion, so there is really no longer any need for buildToolsVersion safeExtGet('buildToolsVersion').

I figured I'd open a issue for you to consider.

Here is the diff that solved my problem:

diff --git a/node_modules/react-native-in-app-review/android/build.gradle b/node_modules/react-native-in-app-review/android/build.gradle
index 4dcb5b9..4e301f7 100755
--- a/node_modules/react-native-in-app-review/android/build.gradle
+++ b/node_modules/react-native-in-app-review/android/build.gradle
@@ -29,7 +29,6 @@ def safeExtGet(name) {
 
 android {
   compileSdkVersion safeExtGet('compileSdkVersion')
-  buildToolsVersion safeExtGet('buildToolsVersion')
 
   defaultConfig {
     minSdkVersion safeExtGet('minSdkVersion')

This issue body was partially generated by patch-package.

Do not hardcode play-services versions

Current build.gradle file has implementation 'com.google.android.gms:play-services-base:17.5.0'.

This can be problematic if other incompatible libraries are used, please make this a build time variable, similar to what other libraries do. For instance:

def safeExtGet(prop, fallback) {
    rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
}


dependencies {
  implementation "com.facebook.react:react-native:${safeExtGet('reactNativeVersion', '+')}"
  implementation "com.android.installreferrer:installreferrer:${safeExtGet('installReferrerVersion', '1.1.2')}"
}


Latest version: https://developers.google.com/android/guides/setup

Modal won't show up in production mode [Android]

Hello!

First of all great work and thank you for this package! I even show it included in a "React Status" newsletter which means that it is going very well ๐Ÿ‘

Let me describe my issue.

I installed the package and tested it both in iOS and Android. I followed your instructions and used in app sharing for testing in Android and it worked fine.

The problem is that after deploying and downloading my app to Google Play Store I navigated to it in order to see if modal is shown indeed and it did not shown up. I tested it in three different Android devices.

I am thinking of some possible causes:

  1. Are there any permissions configuration needed? I suppose, judging from the testing in development mode, that there is not any configuration needed and after installing the package it should work under the hood in production mode as well.
  2. Might be that the devices do not meet the certain requirements needed for the in app review feature to be supported, but I double checked that all of them run at least Android 5.0 (API level 21).
  3. Google might not show the modal for another reason, other than those described here (Google workspace account, device requirements, quota limit)?

Any insight would be helpful! Thank you!

In Android, the in app review pop up does not appear

The app was first downloaded from Play Store and currently does not have a review for the app.
Then I added this package and while running the app on the device using Android Studio I'm getting InAppReview.isAvailable() as true but nothing opens.

Thank you! ๐ŸŽ‰

Thank you @MinaSamir11 for this great project! Great README, responsive in the issues, merging pull requests. Just created this issue to say thank you.

๐Ÿ•บ ๐Ÿฅณ

No Pop Up displayed, while app is in development mode

Hello,
I am using [email protected] version..

while my app is in development mode ..
i just wanted to see how the dialog box is displayed in App

however nothing happens when is following code is executed in component didMount..

if(days>15 && InAppRevew.isAvailable()){
InAppReview.requestInAppReview();
}

according to the documentation ,if the application is in developement , i should atleast be able to see the pop up dialog box,right ?

help would be appreciated thanks...

Quota on Android in production version & method to count the number of requests

hi,

Thank you for this great module.

I didn't understand one thing, in the guideline I am told to use the LaunchReviewFlow method to control the number of appearances, is the InAppReview.RequestInAppReview () contains this method?

I can't be sure that in production version on android a quota will be applied. Will the request appear every time? This is the case in internal testing anyway.

Otherwise, I wanted to know if there was an option to know when the user actually leaves a note. Is there a method for that to know the percentage of requests that were used to obtain a note?

Thanks for your time

Xcode build error after updating to 3.2.1 from 3.1.1

$ xcodebuild -version
Xcode 12.0
Build version 12A7209

After updating the module from 3.1.1 to 3.2.2, I'm now getting the following Xcode build failure. The same happens on another machine with Xcode 12.2.

Undefined symbols for architecture arm64:

  "_swift_getFunctionReplacement", referenced from:

      _swift_getFunctionReplacement50 in libswiftCompatibilityDynamicReplacements.a(DynamicReplaceable.cpp.o)

     (maybe you meant: _swift_getFunctionReplacement50)

  "_swift_getOrigOfReplaceable", referenced from:

      _swift_getOrigOfReplaceable50 in libswiftCompatibilityDynamicReplacements.a(DynamicReplaceable.cpp.o)

     (maybe you meant: _swift_getOrigOfReplaceable50)

ld: symbol(s) not found for architecture arm64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

doesn't wok

Hi. I really love the idea but it didn't work for me. Triggering InAppReview.RequestInAppReview(); returns nothing to me. I tested on real device and simulator also my app is published on google play. because of there is no error i can't publish any error with you :-/

is it MUST to upload to play store for every change?

my prod apps already in play store, so because of that i think for Dev/Staging apps i could tried:

  1. install Debug from CLI => pop up not show
  2. install Release from CLI => pop up not show
  3. install Release from APK => pop up not show

but when i open Play Store it detects the apps already installed, but none of them show any pop up.
is it MUST to upload to play store for every change and download again from play store?

NOTE:

  • i tried use different Gmail account
  • The user has not yet rated the apps in Play Store

Invalid revision with build.gradle

  • Where:
    Build file 'node_modules/react-native-in-app-review/android/build.gradle' line: 31

  • What went wrong:
    A problem occurred evaluating project ':react-native-in-app-review'.

Invalid revision: "28.0.3"

[!] No podspec found for `RNInAppReviewIOS.xcodeproj` in `../../../node_modules/react-native-in-app-review/ios`

Hello,

First of all, nice job with the package! For Android works really well, my problem is on iOS.

I have a monorepo structure and when running pod install I receive the following error
[!] No podspec found for RNInAppReviewIOS.xcodeproj in ../../../node_modules/react-native-in-app-review/ios

I tried also manual linking but no luck I receive /react-native/React/Base/RCTBridgeModule.h:10:9: 'React/RCTDefines.h' file not found.
I tried to fix this with other solutions out there like this one and this one

Any ideas?

error: package com.ibits.react_native_in_app_review does not exist

I tried followed steps to install manually, but i got a error.
There is a very similar closed issue, but it was not actually resolved

file settings.gradle
include ':react-native-in-app-review'
project(':react-native-in-app-review').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-in-app-
review/android')

file MainApplication.java
import com.ibits.react_native_in_app_review.AppReviewPackage;
..new AppReviewPackage(),

Environment: MacOs BigSur, only happens in android device

Task :app:compileDebugJavaWithJavac FAILED
/Users/xxx/xxx/www/xxx/xxx/android/app/src/main/java/com/xxx/MainApplication.java:5: error: package com.ibits.react_native_in_app_review does not exist
import com.ibits.react_native_in_app_review.AppReviewPackage;
^
/Users/xxx/xxx/www/xxx/xxx/android/app/src/main/java/com/xxx/MainApplication.java:48: error: cannot find symbol
new AppReviewPackage(),
^
symbol: class AppReviewPackage
2 errors

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':app:compileDebugJavaWithJavac'.

Compilation failed; see the compiler error output for details.

Rating popup is not showing

After installed this library 2 times the popup is displayed. But after that popup is not displaying. Can u help me to fix this issue. May I know the limit of this api and how to increase the limit

Crash on Android when PlayStore is disabled

Steps to reproduce:

  1. Settings -> Apps -> Google Play Store -> Disable
  2. Trigger rating from app using this library
  3. App crashes

Environment:

  • react-native: "0.63.4"
  • Android SDK Build Tools: "29.0.5"
  • Device android version: "7.0"

Crashing on android

On ios, reviews work flawlessly. On android, trying to run the app after installing crashes for us with this error.

error: package com.ibits.react_native_in_app_review does not exist
import com.ibits.react_native_in_app_review.AppReviewPackage;
                                           ^
 error: cannot find symbol
      new AppReviewPackage(),
          ^
  symbol:   class AppReviewPackage
  location: class PackageList
2 errors

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:compileDevDebugJavaWithJavac'.

Trying to fix this, i turned off automatic linking via react-native.config.js and tried to manually link the package, but it crashes with the same error.

Environment:
React native version: 0.63.3
Device android version: any (the app crashes on the point of building, before any code is injected on the device)

Question: in app review android message required

Hello, thanks for this great library !

i tested it on internal test android, but the message is required to review the app.
In your description you said that the message should be optional.
Is there any modification i need to do ?

Regards

How know if the user reviewed or not

Hi, How can I know if the current user has reviewed the application or not? I need to show the InAppReview.RequestInAppReview () window only if the user has not voted, or else it would be spam

Modal not showing in android and and get try catch error

Hello!

First of all great work and thank you for this package!

I followed the steps for Android integration then use the example code and uploaded the app to the play store.

    try {
      if (InAppReview.isAvailable()) {
        InAppReview.RequestInAppReview()
        // eslint-disable-next-line @typescript-eslint/no-unused-vars
          .then((_hasFlowFinishedSuccessfully: boolean) => {
            // TODO: track this event
            // TODO: let the server know the workflow has finished
            console.log('Review Success?:', _hasFlowFinishedSuccessfully);
            ToastAndroid.show(
              `Review Success?: ${_hasFlowFinishedSuccessfully}`,
              ToastAndroid.SHORT
            );
          })
          // eslint-disable-next-line @typescript-eslint/no-unused-vars
          .catch((_error) => {
            // TODO: track this event
            ToastAndroid.show(`Showing Error: ${_error}`, ToastAndroid.SHORT);
          })
          .finally(() => {
            // dispatch(askForReviewOff());
          });
      }
    } catch (error) {
      ToastAndroid.show(`Try Error: ${error}`, ToastAndroid.SHORT);
      console.log(`Try Error: ${error}`, ToastAndroid.SHORT);
    }

When I run the following code I get an error in the try catch

undefined is not a function (near '...}).finally(function () {});...')

However .then((_hasFlowFinishedSuccessfully: boolean) => { returns true

Please let me know if you need more information and in advance thank you very much for your help.

Integrity check failed for "compression" (yarn)

trying to install the package by runing command

yarn add react-native-in-app-review

but getting following error

error https://registry.yarnpkg.com/compression/-/compression-1.7.3.tgz: Integrity check failed for "compression" (computed integrity doesn't match our records, got "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg== sha1-J+DhdqryYPfywoE8PkQK258Zk9s=")
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.
usman.a@192 barakat-apps % https://yarnpkg.com/en/docs/cli/add 
zsh: no such file or directory: https://yarnpkg.com/en/docs/cli/add

Please help

No Popup display to rate in app download from playstore

In my android app after setting up code as per doc when i upload app to playstore and then after app open no popup display.

below is my code - if(InAppReview.isAvailable()){ console.log('InAppReview',InAppReview.isAvailable()); InAppReview.RequestInAppReview(); }

and while connective usb to device i can see log-

I/ReactNativeJS: 'InAppReview', true
ReviewService : requestInAppReview (com.mypackagename) Initiate binding to the service. isGooglePlayServicesAvailable: true

Any suggestion, where i am wrong.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.