Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
R
react-native-fcm
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Jira
Jira
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
ym
react-native-fcm
Commits
25ebef76
Commit
25ebef76
authored
Jun 04, 2016
by
Libin Lu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add initialData and initialAction
parent
971ab0b7
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
51 additions
and
35 deletions
+51
-35
android/react-native-fcm.iml
android/react-native-fcm.iml
+8
-8
android/src/main/java/com/evollu/react/fcm/FIRMessagingModule.java
...rc/main/java/com/evollu/react/fcm/FIRMessagingModule.java
+26
-18
android/src/main/java/com/evollu/react/fcm/FIRMessagingPackage.java
...c/main/java/com/evollu/react/fcm/FIRMessagingPackage.java
+10
-4
index.js
index.js
+3
-2
ios/RNFIRMesssaging.m
ios/RNFIRMesssaging.m
+4
-3
No files found.
android/react-native-fcm.iml
View file @
25ebef76
...
@@ -65,14 +65,6 @@
...
@@ -65,14 +65,6 @@
<sourceFolder
url=
"file://$MODULE_DIR$/src/main/jni"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/main/jni"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/main/rs"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/main/rs"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/main/shaders"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/main/shaders"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test/res"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test/resources"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test/assets"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test/aidl"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test/java"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test/jni"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test/rs"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test/shaders"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/res"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/res"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/resources"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/resources"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/assets"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/assets"
type=
"java-test-resource"
/>
...
@@ -81,6 +73,14 @@
...
@@ -81,6 +73,14 @@
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/jni"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/jni"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/rs"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/rs"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/shaders"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/shaders"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test/res"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test/resources"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test/assets"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test/aidl"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test/java"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test/jni"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test/rs"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test/shaders"
isTestSource=
"true"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/annotations"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/annotations"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/assets"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/assets"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/blame"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/blame"
/>
...
...
android/src/main/java/com/evollu/react/fcm/FIRMessagingModule.java
View file @
25ebef76
...
@@ -15,23 +15,44 @@ import com.facebook.react.modules.core.DeviceEventManagerModule;
...
@@ -15,23 +15,44 @@ import com.facebook.react.modules.core.DeviceEventManagerModule;
import
com.google.firebase.iid.FirebaseInstanceId
;
import
com.google.firebase.iid.FirebaseInstanceId
;
import
com.google.firebase.messaging.RemoteMessage
;
import
com.google.firebase.messaging.RemoteMessage
;
import
android.os.Bundle
;
import
android.util.Log
;
import
android.util.Log
;
import
android.content.Context
;
import
android.content.Context
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.Set
;
public
class
FIRMessagingModule
extends
ReactContextBaseJavaModule
implements
LifecycleEventListener
{
public
class
FIRMessagingModule
extends
ReactContextBaseJavaModule
{
private
final
static
String
TAG
=
FIRMessagingModule
.
class
.
getCanonicalName
();
private
final
static
String
TAG
=
FIRMessagingModule
.
class
.
getCanonicalName
();
Intent
mIntent
;
public
FIRMessagingModule
(
ReactApplicationContext
reactContext
)
{
public
FIRMessagingModule
(
ReactApplicationContext
reactContext
,
Intent
intent
)
{
super
(
reactContext
);
super
(
reactContext
);
getReactApplicationContext
().
addLifecycleEventListener
(
this
)
;
mIntent
=
intent
;
registerNotificationHandler
();
registerTokenRefreshHandler
();
registerTokenRefreshHandler
();
registerMessageHandler
();
}
@Override
public
Map
<
String
,
Object
>
getConstants
()
{
Map
<
String
,
Object
>
constants
=
new
HashMap
<>();
if
(
mIntent
!=
null
)
{
if
(
mIntent
.
getExtras
()
!=
null
)
{
Map
<
String
,
Object
>
extra
=
new
HashMap
<>();
Bundle
data
=
mIntent
.
getExtras
();
Set
<
String
>
keysIterator
=
data
.
keySet
();
for
(
String
key:
keysIterator
){
extra
.
put
(
key
,
data
.
get
(
key
));
}
constants
.
put
(
"initialData"
,
extra
);
}
constants
.
put
(
"initialAction"
,
mIntent
.
getAction
());
}
return
constants
;
}
}
@Override
@Override
...
@@ -73,7 +94,7 @@ public class FIRMessagingModule extends ReactContextBaseJavaModule implements Li
...
@@ -73,7 +94,7 @@ public class FIRMessagingModule extends ReactContextBaseJavaModule implements Li
},
intentFilter
);
},
intentFilter
);
}
}
private
void
register
Notification
Handler
()
{
private
void
register
Message
Handler
()
{
IntentFilter
intentFilter
=
new
IntentFilter
(
"com.evollu.react.fcm.ReceiveNotification"
);
IntentFilter
intentFilter
=
new
IntentFilter
(
"com.evollu.react.fcm.ReceiveNotification"
);
getReactApplicationContext
().
registerReceiver
(
new
BroadcastReceiver
()
{
getReactApplicationContext
().
registerReceiver
(
new
BroadcastReceiver
()
{
...
@@ -96,17 +117,4 @@ public class FIRMessagingModule extends ReactContextBaseJavaModule implements Li
...
@@ -96,17 +117,4 @@ public class FIRMessagingModule extends ReactContextBaseJavaModule implements Li
}
}
},
intentFilter
);
},
intentFilter
);
}
}
@Override
public
void
onHostResume
()
{
}
@Override
public
void
onHostPause
()
{
}
@Override
public
void
onHostDestroy
()
{
}
}
}
android/src/main/java/com/evollu/react/fcm/FIRMessagingPackage.java
View file @
25ebef76
package
com.evollu.react.fcm
;
package
com.evollu.react.fcm
;
import
android.content.Intent
;
import
com.facebook.react.ReactPackage
;
import
com.facebook.react.ReactPackage
;
import
com.facebook.react.bridge.JavaScriptModule
;
import
com.facebook.react.bridge.JavaScriptModule
;
import
com.facebook.react.bridge.NativeModule
;
import
com.facebook.react.bridge.NativeModule
;
...
@@ -11,16 +13,20 @@ import java.util.Collections;
...
@@ -11,16 +13,20 @@ import java.util.Collections;
import
java.util.List
;
import
java.util.List
;
public
class
FIRMessagingPackage
implements
ReactPackage
{
public
class
FIRMessagingPackage
implements
ReactPackage
{
Intent
mIntent
;
public
FIRMessagingPackage
(){
}
public
FIRMessagingPackage
()
{
public
FIRMessagingPackage
(
Intent
intent
){
mIntent
=
intent
;
}
}
@Override
@Override
public
List
<
NativeModule
>
createNativeModules
(
public
List
<
NativeModule
>
createNativeModules
(
ReactApplicationContext
reactContext
)
{
ReactApplicationContext
reactContext
)
{
List
<
NativeModule
>
modules
=
new
ArrayList
<>();
List
<
NativeModule
>
modules
=
new
ArrayList
<>();
modules
.
add
(
new
FIRMessagingModule
(
reactContext
));
modules
.
add
(
new
FIRMessagingModule
(
reactContext
,
mIntent
));
return
modules
;
return
modules
;
}
}
...
...
index.js
View file @
25ebef76
...
@@ -5,8 +5,6 @@ var {NativeModules} = React;
...
@@ -5,8 +5,6 @@ var {NativeModules} = React;
var
FIRMessaging
=
NativeModules
.
RNFIRMessaging
;
var
FIRMessaging
=
NativeModules
.
RNFIRMessaging
;
console
.
log
(
NativeModules
.
RNFIRMessaging
);
class
FCM
{
class
FCM
{
static
getFCMToken
()
{
static
getFCMToken
()
{
...
@@ -19,4 +17,7 @@ class FCM {
...
@@ -19,4 +17,7 @@ class FCM {
}
}
FCM
.
initialData
=
FIRMessaging
.
initialData
;
FCM
.
initialAction
=
FIRMessaging
.
initialAction
;
module
.
exports
=
FCM
;
module
.
exports
=
FCM
;
\ No newline at end of file
ios/RNFIRMesssaging.m
View file @
25ebef76
...
@@ -26,9 +26,10 @@ RCT_EXPORT_MODULE()
...
@@ -26,9 +26,10 @@ RCT_EXPORT_MODULE()
-
(
NSDictionary
<
NSString
*
,
id
>
*
)
constantsToExport
-
(
NSDictionary
<
NSString
*
,
id
>
*
)
constantsToExport
{
{
NSDictionary
<
NSString
*
,
id
>
*
initialNotification
=
NSDictionary
<
NSString
*
,
id
>
*
initialNotification
=
[
_bridge
.
launchOptions
[
UIApplicationLaunchOptionsRemoteNotificationKey
]
copy
];
[
_bridge
.
launchOptions
[
UIApplicationLaunchOptionsRemoteNotificationKey
]
copy
];
return
@{
@"initialNotification"
:
RCTNullIfNil
(
initialNotification
)};
NSString
*
initialAction
=
[[
initialNotification
objectForKey
:
@"aps"
]
objectForKey
:
@"category"
];
return
@{
@"initialData"
:
RCTNullIfNil
(
initialNotification
),
@"initialAction"
:
RCTNullIfNil
(
initialAction
)};
}
}
-
(
void
)
dealloc
-
(
void
)
dealloc
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment