Как отправить переменную из php в Android Webview? - PullRequest
0 голосов
/ 09 ноября 2019

Я разрабатываю приложение для веб-просмотра с 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)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...