-
-
Notifications
You must be signed in to change notification settings - Fork 302
/
IPushEngine.java
153 lines (134 loc) · 3.13 KB
/
IPushEngine.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
package dev.engine.push;
import android.app.Application;
import android.content.Context;
/**
* detail: Push Engine 接口
* @author Ttt
*/
public interface IPushEngine<Config extends IPushEngine.EngineConfig,
Item extends IPushEngine.EngineItem> {
/**
* detail: Push Config
* @author Ttt
*/
class EngineConfig {
}
/**
* detail: Push ( Data、Params ) Item
* @author Ttt
*/
class EngineItem {
}
// =============
// = 对外公开方法 =
// =============
/**
* 初始化方法
* @param application {@link Application}
* @param config Push Config
*/
void initialize(
Application application,
Config config
);
/**
* 绑定
* @param context {@link Context}
* @param config Push Config
*/
void register(
Context context,
Config config
);
/**
* 解绑
* @param context {@link Context}
* @param config Push Config
*/
void unregister(
Context context,
Config config
);
// =
/**
* 推送进程启动通知
* @param context {@link Context}
* @param pid Push 进程 ID
*/
void onReceiveServicePid(
Context context,
int pid
);
/**
* 初始化 Client Id 成功通知
* @param context {@link Context}
* @param clientId 唯一 ID 用于标识当前应用
*/
void onReceiveClientId(
Context context,
String clientId
);
/**
* 设备 ( 厂商 ) Token 通知
* @param context {@link Context}
* @param deviceToken 设备 Token
*/
void onReceiveDeviceToken(
Context context,
String deviceToken
);
/**
* 在线状态变化通知
* @param context {@link Context}
* @param online 是否在线
*/
void onReceiveOnlineState(
Context context,
boolean online
);
/**
* 命令回执通知
* @param context {@link Context}
* @param message Push ( Data、Params ) Item
*/
void onReceiveCommandResult(
Context context,
Item message
);
/**
* 推送消息送达通知
* @param context {@link Context}
* @param message Push ( Data、Params ) Item
*/
void onNotificationMessageArrived(
Context context,
Item message
);
/**
* 推送消息点击通知
* @param context {@link Context}
* @param message Push ( Data、Params ) Item
*/
void onNotificationMessageClicked(
Context context,
Item message
);
/**
* 透传消息送达通知
* @param context {@link Context}
* @param message Push ( Data、Params ) Item
*/
void onReceiveMessageData(
Context context,
Item message
);
// ===============
// = 转换 Message =
// ===============
/**
* 传入 Object 转换 Engine Message
* @param message Message Object
* @return Engine Message
*/
Item convertMessage(Object message);
}