Skip to content

kedros-as/react-native-google-play-integrity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

react-native-google-play-integrity

Getting started

$ npm install react-native-google-play-integrity --save

or

$ yarn add react-native-google-play-integrity

Mostly automatic installation

$ react-native link react-native-google-play-integrity

Manual installation

Android

  1. Open up android/app/src/main/java/[...]/MainActivity.java
  • Add import sk.kedros.playintegrity.RNGooglePlayIntegrityPackage; to the imports at the top of the file
  • Add new RNGooglePlayIntegrityPackage() to the list returned by the getPackages() method
  1. Append the following lines to android/settings.gradle:
    include ':react-native-google-play-integrity'
    project(':react-native-google-play-integrity').projectDir = new File(rootProject.projectDir, 	'../node_modules/react-native-google-play-integrity/android')
    
  2. Insert the following lines inside the dependencies block in android/app/build.gradle:
    implementation project(':react-native-google-play-integrity')
    

Usage

Make a classic request

import PlayIntegrity from 'react-native-google-play-integrity';

// Checks if Google Play Integrity API is available
const isAvailable = await PlayIntegrity.isPlayIntegrityAvailable();

try {
	const nonce = ... // Randomly generated nonce
	const integrityToken = await PlayIntegrity.requestIntegrityToken(nonce);
} catch (e) {
	// e.code 	- IntegrityErrorCode, see https://developer.android.com/google/play/integrity/reference/com/google/android/play/core/integrity/model/IntegrityErrorCode.html#summary
	// e.message 	- Error message
}

Make a standard request

import PlayIntegrity from 'react-native-google-play-integrity';

// Checks if Google Play Integrity API is available
const isAvailable = await PlayIntegrity.isPlayIntegrityAvailable();

try {
	// Prepare provider i.e. on application startup
	await PlayIntegrity.prepareStandardIntegrityTokenProvider();
} catch (e) {
	// e.code 	- IntegrityErrorCode, see https://developer.android.com/google/play/integrity/reference/com/google/android/play/core/integrity/model/IntegrityErrorCode.html#summary
	// e.message 	- Error message
}

try {
	// Checks if provider is prepared
	const isPrepared = await PlayIntegrity.isStandardIntegrityTokenProviderPrepared();

	const requestHash = ... // Randomly generated request hash
	const integrityToken = await PlayIntegrity.requestStandardIntegrityToken(requestHash);
} catch (e) {
	// e.code 	- IntegrityErrorCode, see https://developer.android.com/google/play/integrity/reference/com/google/android/play/core/integrity/model/IntegrityErrorCode.html#summary
	// e.message 	- Error message
}

About

React Native implementation for Google's Play Integrity API

Resources

License

Stars

Watchers

Forks

Packages

No packages published