Plugins directory, and import TIMPush in the main module’s Build.cs file.Copy directory | Import the plugin |
![]() | ![]() |

businessID: In the UE4 Editor, open Project Settings, search for Additional Plist Data, edit the text below, and paste it into the text box. YourBusinessID is required. Modify YourGroupID only when you need to collect push delivery and click statistics.<key>businessID</key><string>YourBusinessID</string><key>TIMPushAppGroupID</key><string>YourGroupID</string>

<proj_dir>/Config/DefaultEngine.ini and add the following under IOSRuntimeSettings:// Some code[/Script/IOSRuntimeSettings.IOSRuntimeSettings]bEnableRemoteNotificationsSupport=True


timpush-configs.json under TIMPush’s Source/ThirdParty/TIMPushLibrary/Android/TIMPush/Assets directory.Download the configuration file | Copy path |
![]() | ![]() |
/Plugins/TIMPush/Source/TIMPush/
<buildGradleAdditions><insert>dependencies {// Replace VERSION with the version from Release Notes.// The main push package is requiredimplementation 'com.tencent.timpush:tpush:VERSION'// Add manufacturer packages as neededimplementation 'com.tencent.timpush:fcm:VERSION'}</insert></buildGradleAdditions>
Source/ThirdParty/TIMPushLibrary/Android/TIMPush/.

<baseBuildGradleAdditions><insert>allprojects {repositories {mavenCentral()maven { url "https://mirrors.tencent.com/nexus/repository/maven-public/" }maven { url "https://mirrors.tencent.com/repository/maven/liteavsdk/" }maven { url 'https://mirrors.tencent.com/repository/maven/SensitiveScan' }}}</insert></baseBuildGradleAdditions><buildscriptGradleAdditions><insert>repositories {mavenCentral()maven { url "https://mirrors.tencent.com/nexus/repository/maven-public/" }maven { url "https://mirrors.tencent.com/repository/maven/liteavsdk/" }maven { url 'https://mirrors.tencent.com/repository/maven/SensitiveScan' }}dependencies {classpath 'com.google.gms:google-services:4.4.3' // FCM Plugin}</insert></buildscriptGradleAdditions><buildGradleAdditions><insert>apply plugin: 'com.google.gms.google-services' // FCM Plugin</insert></buildGradleAdditions>
class DemoPushListener: public PushListener {public:using OnRecvPushMessageCallback = std::function<void(const PushMessage &)>;using OnRevokePushMessageCallback = std::function<void(const FString &)>;using OnNotificationClickedCallback = std::function<void(const FString &)>;void SetCallback(OnRecvPushMessageCallback recv_cb, OnRevokePushMessageCallback revoke_cb, OnNotificationClickedCallback clicked_cb) {on_recv_message_callback_ = std::move(recv_cb);on_revoke_message_callback_ = std::move(revoke_cb);on_notification_clicked_callback_ = std::move(clicked_cb);}void OnRecvPushMessage(const PushMessage& message) override {if (on_recv_message_callback_) {on_recv_message_callback_(message);}}void OnRevokePushMessage(const FString& messageID) override {if (on_revoke_message_callback_) {on_revoke_message_callback_(messageID);}}void OnNotificationClicked(const FString& ext) override {if (on_notification_clicked_callback_) {on_notification_clicked_callback_(ext);}}private:OnRecvPushMessageCallback on_recv_message_callback_;OnRevokePushMessageCallback on_revoke_message_callback_;OnNotificationClickedCallback on_notification_clicked_callback_;};auto listener = new DemoPushListener();listener.SetCallback([](const PushMessage& message) {UE_LOG(LogTemp, Warning, TEXT("Push Called in OnRecvPushMessage. Message title: %s, desc: %s, ext: %s, id: %s"), *message.GetTitle(), *message.GetDesc(), *message.GetExt(), *message.GetMessageID());},[](const FString& messageID) {UE_LOG(LogTemp, Warning, TEXT("Push Called in OnRevokePushMessage. Message id: %s"), *messageID);},[](const FString& ext) {UE_LOG(LogTemp, Warning, TEXT("Push Called in OnNotificationClicked. Message ext: %s"), *ext);});PushManager::GetInstance()->AddPushListener(&listener);

template <class T>class DemoPushValueCallback : public PushValueCallback<T> {public:using SuccessCallback = std::function<void(const T &)>;using ErrorCallback = std::function<void(int, const FString &)>;DemoPushValueCallback<T>() = default;~DemoPushValueCallback() override = default;void SetCallback(SuccessCallback success_cb, ErrorCallback error_cb) {success_callback_ = std::move(success_cb);error_callback_ = std::move(error_cb);}void OnSuccess(const T &value) override {if (success_callback_) {success_callback_(value);}}void OnError(int error_code, const FString &error_message) override {if (error_callback_) {error_callback_(error_code, error_message);}}private:SuccessCallback success_callback_;ErrorCallback error_callback_;};auto callback = new DemoPushValueCallback<FString>();callback->SetCallback([=](const FString &value) {UE_LOG(LogTemp, Warning, TEXT("Push succeed, device token is %s"), *value);delete callback;},[=](int error_code, const FString &error_message) {UE_LOG(LogTemp, Warning, TEXT("Push failed erro code: %d, desc: %s"), error_code, *error_message);delete callback;});PushManager::GetInstance()->RegisterPush(yourSdkAppId, "yourAppKey", callback);
YourGroupID with your App Group ID..framework folders to your pushservice target in the Xcode project.-didReceiveNotificationRequest:withContentHandler: method, call the push delivery statistics API:@implementation NotificationService- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler {// appGroup identifies the App Group shared by the main app and the Extension. Configure App Groups in the main app Capability.// Format: group + [main bundleID] + key// Example: group.com.tencent.im.pushkeyNSString * appGroupID = kTIMPushAppGroupKey;__weak typeof(self) weakSelf = self;[TIMPushManager handleNotificationServiceRequest:request appGroupID:appGroupID callback:^(UNNotificationContent *content) {weakSelf.bestAttemptContent = [content mutableCopy];// Modify the notification content here...// self.bestAttemptContent.title = [NSString stringWithFormat:@"%@ [modified]", self.bestAttemptContent.title];weakSelf.contentHandler(weakSelf.bestAttemptContent);}];}@end
Apakah halaman ini membantu?
Anda juga dapat Menghubungi Penjualan atau Mengirimkan Tiket untuk meminta bantuan.
masukan