Я разрабатываю приложение для веб-просмотра с push-уведомлениями о сигнале с одним сигналом и хочу пометить каждого пользователя с одним сигналом своим идентификатором пользователя php для отправки пользовательских уведомлений, но не знаю, как получить $ _SESSION ["идентификатор пользователя"] из моегоwebview php website и используй его в моем Android Webview App.
Несколько дней назад я приобрел среду просмотра web-сайта codecanyon, созданную с помощью Kotlin. Это действительно отличная платформа, поскольку она помогла мне превратить мой сайт в настоящийприложение (я знаю только, как разрабатывать на php & mysql, а не на java lol)
И в фреймворк интегрирована служба push-уведомлений OneSignal & Firebase…
На данный момент все работает очень хорошо... но я хочу вывести свой проект на новый уровень и отправить push-уведомления для конкретных пользователей (например, кто-то опубликовал в вашем профиле)
Я знаю, что могу использовать теги OneSignal для добавлениятег для каждого подписанного OneSignal пользователя с идентификатором моего веб-сайта ... но проблема в том, что я не знаю, как взять этот $ _SESSION [userid ”] с моего веб-сайта php и используйте его в моем приложении для веб-просмотра Android, чтобы создать тег OneSignal для текущего пользователя…
В моих файлах Android у меня есть файл OnesignalMessagingService.kt с этой информацией:
package name...
import android.app.Application
import android.content.Context
import android.content.Intent
import android.util.Log
import com.onesignal.OSNotification
import com.onesignal.OSNotificationAction
import com.onesignal.OSNotificationOpenResult
import com.onesignal.OneSignal
import infix.imrankst1221.codecanyon.MainActivity
class OnesignalMessagingService: Application() {
val TAG = "---Onesignal"
lateinit var mContext: Context
override fun onCreate() {
super.onCreate()
mContext = this
OneSignal.startInit(this)
.setNotificationOpenedHandler(NotificationHandler())
.autoPromptLocation(true)
.inFocusDisplaying(OneSignal.OSInFocusDisplayOption.Notification)
.setNotificationReceivedHandler(NotificationReceivedHandler())
.init()
OneSignal.idsAvailable { userId, registrationId -> Log.d("", ""+userId) }
}
inner class NotificationHandler : OneSignal.NotificationOpenedHandler {
// This fires when a notification is opened by tapping on it.
override fun notificationOpened(result: OSNotificationOpenResult) {
val actionType = result.action.type
val data = result.notification.payload.additionalData
val customKey: String?
if (data != null) {
customKey = data.optString("url", null)
if (customKey != null) {
AppDataInstance.getINSTANCE(mContext)
AppDataInstance.notificationUrl = customKey
AppDataInstance.isOpenOutside = data.optBoolean("is_open_outside", false)
Log.i(TAG, "Link set with value: $customKey")
}
}
if (actionType == OSNotificationAction.ActionType.ActionTaken)
Log.i(TAG, "Button pressed with id: " + result.action.actionID)
val intent = Intent(applicationContext, MainActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_REORDER_TO_FRONT or Intent.FLAG_ACTIVITY_NEW_TASK
startActivity(intent)
}
}
private inner class NotificationReceivedHandler : OneSignal.NotificationReceivedHandler {
override fun notificationReceived(notification: OSNotification) {
// receive a notification
}
}
}
Как добавить этот код для создания тега для текущего пользователя:
OneSignal.sendTag("userId", "1");
И как изменить идентификатор пользователя «1» с моим текущим значением $ _SESSION [«идентификатор пользователя»] извеб-сайт php weview
Я не знаю, полезно ли это, но я создал файл json с текущим идентификатором сессии:
https://tribbr.me/api/json/get_sessionid.php (это только информация эхаесли вы зашли на мой сайт): (Ej. https://jmp.sh/fdMQtdG)