Getting started with GetSocial React Native SDK¶
Welcome to the Getting Started section of the GetSocial documentation. Here you will find guides that describe how to accomplish a specific task with code samples you can re-use in your app.
System Requirements¶
To use GetSocial SDK your execution and development environment should match the following requirements:
React Native¶
- React: 16.13.1,
- React Native: 0.63.2
Android¶
- Android v4.0.3 (SDK v15) or higher
- Android Developers Tools (ADT) version 19 or above
- Google Play Services library v6.1.11 or above (for push notifications)
iOS¶
- Xcode 10.2 or above (if you need to use older Xcode version, please use SDK version v6.28.x)
- iOS 8 or higher
Not sure if GetSocial is going to work in your specific configuration? Feel free to reach us via Intercom or email.
Adding GetSocial to Your App¶
Create App on the Dashboard¶
- Login to GetSocial Dashboard.
- Open Add new app wizard.
- Fill in App name and upload App icon image.
- Select React Native platform and Finish the wizard.
Learn more about the products we build at getsocial.im.
Install React Native package¶
- Run
npm install getsocial-react-native-sdk --save
in your app’s root folder.
Enable Supported App Stores on the Dashboard¶
Next step is to enable Google Play and Apple App Store on the GetSocial Dashboard:
- On the App settings section → App information tab.
-
Enable Google Play store → fill in Package name and Signing-certificate fingerprint fields.
Package name is the
applicationId
in your app-levelbuild.gradle
file.Signing-certificate fingerprint is a list of SHA-256 hashes of the certificates you use to sign your application. You have to add fingerprints of all keys you use to sign app. GetSocial Gradle plugin adds a helper task
printSigningCertificateSHA256
to print SHA-256 fingerprints for all configured build flavors:gradle printSigningCertificateSHA256
Using Google Play App Signing?
If you are using Google Play App Signing you can copy SHA256 from the Play Console. If you’re using a separate Upload certificate, please add his SHA256 to GetSocial Dashboard as well. Learn more in the detailed guide.
-
Enable Apple App Store → fill in Bundle ID, Team ID and optionally App Store ID fields:
Bundle ID is a part of the iOS App ID. You can find bundle identifier in the Xcode project → General Settings → Identity → Bundle Identifier.
Team ID is a unique 10-character string generated by Apple thatβs assigned to your team. You can find your Team ID using your Apple developer account → Membership.
App Store ID number can be found in the iTunes store URL as the string of numbers directly after
id
. For Example, inhttps://itunes.apple.com/us/app/yourapp/id284709449
the ID is:284709449
.
Configure GetSocial SDK¶
Android¶
To start using GetSocial, you have to add and configure GetSocial Gradle Plugin to your Android project. Plugin adds all GetSocial dependencies to the project and configures AndroidManifest.xml
.
To add GetSocial Gradle plugin:
-
Add repository and classpath dependency for the plugin in your top-level
build.gradle
. This file is for the entire project so it will be used for global project configurations:buildscript { repositories { ... maven { url "https://plugins.gradle.org/m2/" } } dependencies { ... classpath "im.getsocial:plugin-v7:1.+" } }
-
In the Android application project
build.gradle
(this file is the module build file, so it will be used for specific module level configs) applyim.getsocial
plugin aftercom.android.application
plugin:apply plugin: 'com.android.application' apply plugin: 'im.getsocial' // should be applied after com.android.application plugin
-
In the same
build.gradle
configure GetSocial plugin with GetSocial App id:getsocial { appId "put-your-getsocial-app-id-here" ... }
-
In the
MainApplication.java
file import theRNGetSocialPackage
package:import im.getsocial.rn.RNGetSocialPackage;
Check the GetSocial Gradle plugin reference for the full list of available configurations.
Changes in Android 11
Android 11 requires applications to define which package they need to access. GetSocial uses packages to determine list of available invite channels. In order to invites working properly on Android 11, please add the following lines to AndroidManifest.xml
file:
<permission android:name="android.permission.QUERY_ALL_PACKAGES" />
<queries>
<intent>
<action android:name="android.intent.action.VIEW" />
</intent>
<intent>
<action android:name="android.intent.action.SENDTO" />
<data android:scheme="smsto"/>
</intent>
</queries>
iOS¶
To start using GetSocial, you have to add and configure GetSocial installer script to your Xcode project. The script adds GetSocial frameworks to the project and configures app entitlements, plist files, and Xcode project settings.
To add GetSocial installer script:
- Run
pod install
to update dependencies. - In your Xcode project go to Project Settings → select target you want to modify → Build Phases tab.
-
Create new Run Script phase with the content:
"$PROJECT_DIR/getsocial-sdk7.sh" --app-id="your-getsocial-app-id"
-
Move Run Script phase before the Compile Sources phase.
- Build your project.
Project Backups
GetSocial installer script creates a backup of your project.pbxproj
file every time it is executed. If something goes wrong, you can always roll back to the previous version.
Source Control Configuration
We suggest adding .backup
files under .xcodeproj
to ignore list to keep your version control history clean.
Start Using GetSocial¶
GetSocial UI¶
At this point, you should be able to start using GetSocial.
GetSocial UI library contains easy to customize views for all GetSocial features, e.g. code below will create and show GetSocial Smart Invites view:
import {GetSocialUI, InvitesView} from 'getsocial-react-native-sdk';
...
new InvitesView().show();
After invoking code above, GetSocial Smart Invites view will be shown:

Why there are only a few apps?
The list of Smart Invites Channels in the view above will contain all social apps that are 1) enabled on the GetSocial Dashboard and 2) installed on the device.
SDK Initialization¶
GetSocial SDK is auto-initialized, just provide a GetSocial App Id in the Gradle plugin on Android, or as a parameter to the iOS Installer Script on iOS, and we will do the magic.
Manual Initialization
If you want to initialize GetSocial SDK manually, check this topic.
If you want to be notified about initialization complete, you can register a listener, which will be invoked when SDK gets initialized or invoked immediately if it is already initialized:
import {GetSocial} from 'getsocial-react-native-sdk';
...
GetSocial.addOnInitializedListener(() => {
// GetSocial SDK is ready to use
});
Send your first invite¶
import {Invites} from 'getsocial-react-native-sdk';
...
Invites.send(nil, "email", () => {
console.log('Invitation via email was sent');
}, () => {
console.log('Invitation via email was cancelled');
}, (error) => {
console.log('Failed to send invitation via email failed, error: ' + error.message);
});
Demo Application¶
To showcase all GetSocial SDK features, we have created a simple demo application. Explore it on the GitHub.
Next Steps¶
Well-done! GetSocial SDK is now set up and ready to rock, check what you can do next:
- Set up deep linking and drive users from web to your mobile app with Smart Links, Smart Widget and Smart Banners.
- Implement referral campaigns or content sharing with Smart Invites.