A React Native library for Oppwa, the Open Payment Platform
- First, set up Oppwa in your app as instructed on Oppwa. This includes downloading the oppwa app and walking through the setup steps (downloading the SDK, adding it to your project and making some changes to your project).
react-native install react-native-oppwa
, or with yarn: rnpm install react-native-oppwa
React Native / rnpm will automatically link all the necessary libraries for both iOS and Android.
If the installation goes off without a hitch, you can now skip to the Usage section
yarn add react-native-oppwa --save
- Alternatively for Android, if you don't use Android studio you can skip the first step and instead follow the steps described in
Android
as well as the steps inAndroid without Android Studio
.
Download the Open Payment Platform SDK and place the two
frameworks in the ios
directory. You may
want to add this directory to your .gitignore
as they take up a decent amount
of space and will slow down Git.
You will also need to modify the Run Script Phase that you likely added to Build
Phases so that it points to the correct location for the Oppwa framework. If
you placed the framework directly under ios/Oppwa
as specified above,t
the contents of the script will then be:
Then do the following:
- Open your project in Xcode
- Run
open node_modules/react-native-oppwa/ios
- Drag
RNOppwa.xcodeproj
into yourLibraries
group - Select your main project in the navigator to bring up settings
- Under
Build Phases
expand theLink Binary With Libraries
header - Scroll down and click the
+
to add a library - Find and add
libRNOppwa.a
under theWorkspace
group - ⌘+B
*Note: Android support requires React Native 0.16 or later
-
Edit
android/settings.gradle
to look like this (without the +):rootProject.name = 'MyApp' include ':app' + include ':react-native-oppwa' + project(':react-native-oppwa').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-oppwa/android')
-
Edit
android/app/build.gradle
(note: app folder) to look like this:apply plugin: 'com.android.application' android { ... } dependencies { compile 'com.android.support:appcompat-v7:23.0.0' compile 'com.facebook.react:react-native:0.19.+' + compile project(':react-native-oppwa') }
-
Edit your
MainActivity.java
(deep inandroid/app/src/main/java/...
) to look like this (note two places to edit):
package com.myapp;
+ import com.oppwa.OppwaPackage;
....
public class MainActivity extends ReactActivity {
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
+ new OppwaPackage(),
new MainReactPackage()
);
}
}
Make sure you also follow the steps described in Android
.
-
Edit your
AndroidManifest.xml
(inandroid/app/src/main/
) to look like this. Make sure to enter your oppwa API key afterandroid:value=
, you can find your key on your oppwa organisation page.<manifest xmlns:android="http://schemas.android.com/apk/res/android" [...] <application [...] + <service + android:name="com.oppwa.mobile.connect.service.ConnectService" + android:exported="false"/> </application> + <uses-permission android:name="android.permission.INTERNET" /> </manifest>
Note: .
MIT Mohamed Anouar KOTTI © 2017