|
1 | | -## Sense - Android SDK |
2 | | - |
3 | | -Sense is a device intelligence and identification tool. This tool collects a comprehensive set of attributes unique to a device or browser, forming an identity that will help businesses. |
4 | | -Requirements |
5 | | - |
6 | | -``` |
7 | | -* Use Android 5.1 (API level 21) and above. |
8 | | -* Use Kotlin version 1.6.10 and above. |
9 | | -* Add READ_PHONE_STATE Permission in Android Manifest for deivce information(Optional) |
10 | | -``` |
11 | | - |
12 | | -Note: If the application does not have the listed permissions, the values collected using those permissions will be ignored. To provide a valid device details, we recommend employing as much permission as possible based on your use-case. |
13 | | - |
14 | | -#### Step 1 - Add Dependency |
15 | | - |
16 | | -Add the dependency in the app level build.gradle: |
17 | | - |
18 | | -``` |
19 | | -dependencies { |
20 | | - implementation 'co.getsense:android:0.0.6' |
21 | | -} |
22 | | -``` |
23 | | - |
24 | | -#### Step 2 - Import SDK |
25 | | - |
26 | | -``` |
27 | | -import co.getsense.android.Sense |
28 | | -import co.getsense.android.SenseConfig |
29 | | -``` |
30 | | - |
31 | | -#### Step 3 - Initialize SDK |
32 | | - |
33 | | -Add the following line of code to initialize it with the api key you obtained from the Sense Client panel. If you don't have a api key create new one. |
34 | | - |
35 | | -``` |
36 | | -val config = SenseConfig( |
37 | | - apiKey = "Your API Key", |
38 | | - senseInfo = true, // true or false |
39 | | - allowGeoLocation = true, // true or false |
40 | | - tag = ""// Whatever you need, just mention the string here like home, contact, etc. |
41 | | -) |
42 | | -Sense.initSDK(activity, config) |
43 | | -``` |
44 | | - |
45 | | -#### Step 4 - Get Device Details |
46 | | - |
47 | | -Use the below code to get the Device Details |
48 | | - |
49 | | -``` |
50 | | -Sense.getSenseDetails(this) |
51 | | -``` |
52 | | - |
53 | | -#### Step 5 - Implement Listener |
54 | | - |
55 | | -Set and Implement our listener to receive the Callback details |
56 | | - |
57 | | -``` |
58 | | -Sense.getDeviceDetails(object : Sense.SenseListener { |
59 | | - override fun onSuccess(data: String) { |
60 | | - // success callback |
61 | | - } |
62 | | - override fun onFailure(message: String) { |
63 | | - // failure callback |
64 | | - } |
65 | | -}) |
66 | | -``` |
67 | | - |
68 | | -#### Step 6 - Location Permission (Optional) |
69 | | - |
70 | | -```` |
71 | | -You have to add this permission in AndroidManifest.xml to get Device Location Information and to get Retrieve call state, Network state, Network information, Sim datas from READ_PHONE_STATE and READ_PRIVILEGED_PHONE_STATE. |
72 | | -
|
73 | | -<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> |
74 | | -<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> |
75 | | -<uses-permission android:name="android.permission.READ_PHONE_STATE" /> |
76 | | -<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" |
77 | | -tools:ignore="ProtectedPermissions"/> |
78 | | -
|
79 | | -```` |
80 | | - |
81 | | -#### Step 7 - Progurad Rules (Optional) |
82 | | - |
83 | | -If you encounter any problem in your integration related to Proguard, you can use add the below lines Proguard Rules. |
84 | | - |
85 | | -``` |
86 | | --keep,allowobfuscation,allowshrinking interface retrofit2.Call |
87 | | --keep,allowobfuscation,allowshrinking class retrofit2.Response |
88 | | --keep,allowobfuscation,allowshrinking class kotlin.coroutines.** { *; } |
89 | | --dontwarn co.getsense.** |
90 | | --keep class co.getsense.** {*;} |
91 | | -``` |
92 | | - |
93 | | -#### Sample Program |
94 | | - |
95 | | -Here you can find the demonstration to do the integration. |
96 | | - |
97 | | -``` |
98 | | -import co.getsense.android.Sense |
99 | | -import co.getsense.android.SenseConfig |
100 | | -
|
101 | | -class MainActivity : AppCompatActivity() { |
102 | | - override fun onCreate(savedInstanceState: Bundle?) { |
103 | | - super.onCreate(savedInstanceState) |
104 | | - setContentView(R.layout.activity_main) |
105 | | -
|
106 | | - val config = SenseConfig( |
107 | | - apiKey = "Your API Key", //Replace with your Client Public API Key |
108 | | - senseInfo = true, // true or false |
109 | | - allowGeoLocation = true, // true or false |
110 | | - tag = ""// Whatever you need, just mention the string here like home, contact, etc. |
111 | | - ) |
112 | | -
|
113 | | - //Initialize SDK |
114 | | - Sense.initSDK(this, config) |
115 | | -
|
116 | | - // Fetch device details |
117 | | - getDeviceDtails(); |
118 | | - } |
119 | | - private fun getDeviceDtails() { |
120 | | - Sense.getDeviceDetails(object : Sense.SenseListener { |
121 | | - override fun onSuccess(data: String) { |
122 | | - // Handle success callback |
123 | | - } |
124 | | - override fun onFailure(message: String) { |
125 | | - // Handle failure callback |
126 | | - } |
127 | | - }) |
128 | | - } |
129 | | -} |
130 | | -``` |
131 | | - |
132 | | -# sense-device-identity |
| 1 | +# sense-user-activity-android |
133 | 2 | <h1 align="center">Understanding User Intent : Sense</h1> |
134 | 3 |
|
135 | 4 | <p align="center" width="100%"> |
@@ -179,31 +48,23 @@ notice how the visitor identifier remains the same in spite of all these changes |
179 | 48 |
|
180 | 49 | #### MIT license : |
181 | 50 |
|
| 51 | +Sense OS is available under the <a href="https://github.com/sense-opensource/sense-user-activity-android/blob/main/LICENSE"> MIT license </a> |
| 52 | + |
182 | 53 | #### Contributors code of conduct : |
183 | 54 |
|
| 55 | +Thank you for your interest in contributing to this project! We welcome all contributions and are excited to have you join our community. Please read these <a href="https://github.com/sense-opensource/sense-user-activity-android/blob/main/code_of_conduct.md"> code of conduct </a> to ensure a smooth collaboration. |
| 56 | + |
184 | 57 | #### Where you can get support : |
185 | 58 |  product@getsense.co |
186 | 59 |
|
187 | | -#### Contributing guidelines : |
188 | | - |
189 | | -#### What's New : |
| 60 | +Public Support: |
190 | 61 |
|
191 | | -[02/24/2025]: Face parameters update |
192 | | -``` |
193 | | -We’ve trained the model for an increased accuracy of 94%. |
| 62 | +For questions, bug reports, or feature requests, please use the Issues and Discussions sections on our repository. This helps the entire community benefit from shared knowledge and solutions. |
194 | 63 |
|
195 | | -Here’s the installation steps : |
| 64 | +Community Chat: |
196 | 65 |
|
197 | | -1. Click on the download link |
198 | | -2. Download the model file and push it to the file directory |
199 | | -3. Run the file file |
200 | | -4. Restart the docker |
| 66 | +Join our Discord server (link) to connect with other developers, ask questions in real-time, and share your feedback on Sense. |
201 | 67 |
|
202 | | -``` |
203 | | -[08/27/2024]: User behavior added signals |
204 | | -``` |
205 | | -A new set of signals that track the user behaviour data has been |
206 | | -added to the code. These signals analyse the typing speed and the |
207 | | -duration between letter clicks on the keyboard |
| 68 | +Interested in contributing to Sense? |
208 | 69 |
|
209 | | -``` |
| 70 | +Please review our <a href="https://github.com/sense-opensource/sense-user-activity-android/blob/main/CONTRIBUTING.md"> Contribution Guidelines </a> to learn how to get started, submit pull requests, or run the project locally. We encourage you to read these guidelines carefully before making any contributions. Your input helps us make Sense better for everyone! |
0 commit comments