বিজ্ঞপ্তি পেলোডে একটি ছবি পাঠান

এফসিএম HTTP v1 API এবং নোটিফিকেশন কম্পোজার ডেলিভারির পরে ডিভাইসে ইমেজ ডাউনলোডের জন্য ডিসপ্লে বিজ্ঞপ্তির পেলোডে ইমেজ লিঙ্ক পাঠাতে সমর্থন করে। এই কার্যকারিতা অ্যাপল অ্যাপের জন্য ছবি এবং ভিডিও উভয়ই সমর্থন করে (ফাইলের আকার সীমার জন্য অ্যাপল ডকুমেন্টেশন দেখুন)।

একটি Apple অ্যাপে বিজ্ঞপ্তি চিত্রগুলি গ্রহণ এবং পরিচালনা করতে সক্ষম হতে, আপনাকে অবশ্যই একটি বিজ্ঞপ্তি পরিষেবা এক্সটেনশন যোগ করতে হবে৷ বিজ্ঞপ্তি পরিষেবা এক্সটেনশন আপনার অ্যাপটিকে শেষ ব্যবহারকারীর কাছে বিজ্ঞপ্তি প্রদর্শন করার আগে FCM পেলোডে বিতরণ করা ছবি পরিচালনা করার অনুমতি দেয়।

বিজ্ঞপ্তি পরিষেবা এক্সটেনশন সেট আপ করুন

একটি পরিষেবা এক্সটেনশন যোগ করতে, APNগুলিতে বিজ্ঞপ্তিগুলি সংশোধন এবং উপস্থাপনের জন্য প্রয়োজনীয় সেটআপ কাজগুলি সম্পাদন করুন এবং তারপর NotificationService.m এ FCM এক্সটেনশন সহায়ক API যোগ করুন। বিশেষত, self.contentHandler(self.bestAttemptContent); , FIRMessaging extensionHelper দিয়ে এটি সম্পূর্ণ করুন যেমন দেখানো হয়েছে:

@interface NotificationService () <NSURLSessionDelegate>
@property(nonatomic) void (^contentHandler)(UNNotificationContent *contentToDeliver);
@property(nonatomic) UNMutableNotificationContent *bestAttemptContent;
@end

@implementation NotificationService

- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler {
    self.contentHandler = contentHandler;
    self.bestAttemptContent = [request.content mutableCopy];

    // Modify the notification content here as you wish
    self.bestAttemptContent.title = [NSString stringWithFormat:@"%@ [modified]",
    self.bestAttemptContent.title];

  // Call FIRMessaging extension helper API.
  [[FIRMessaging extensionHelper] populateNotificationContent:self.bestAttemptContent
                                            withContentHandler:contentHandler];

}
...

প্রেরণের অনুরোধ তৈরি করুন

আপনার বিজ্ঞপ্তি পাঠানোর অনুরোধে, নিম্নলিখিত ApnsConfig বিকল্পগুলি সেট করুন:

  • fcm_options.image ছবির URL রয়েছে
  • headers({ "mutable-content": 1})

নিম্নলিখিত উদাহরণ প্রেরণ অনুরোধটি সমস্ত প্ল্যাটফর্মে একটি সাধারণ বিজ্ঞপ্তি শিরোনাম পাঠায়, তবে এটি একটি চিত্রও পাঠায়। এখানে একজন ব্যবহারকারীর ডিভাইসে ভিজ্যুয়াল এফেক্টের একটি আনুমানিক ধারণা রয়েছে:

একটি প্রদর্শন বিজ্ঞপ্তিতে একটি চিত্রের সহজ অঙ্কন

Node.js

const topicName = 'industry-tech';

const message = {
  notification: {
    title: 'Sparky says hello!'
  },
  android: {
    notification: {
      imageUrl: 'https://foo.bar.pizza-monster.png'
    }
  },
  apns: {
    payload: {
      aps: {
        'mutable-content': 1
      }
    },
    fcm_options: {
      image: 'https://foo.bar.pizza-monster.png'
    }
  },
  webpush: {
    headers: {
      image: 'https://foo.bar.pizza-monster.png'
    }
  },
  topic: topicName,
};

getMessaging().send(message)
  .then((response) => {
    // Response is a message ID string.
    console.log('Successfully sent message:', response);
  })
  .catch((error) => {
    console.log('Error sending message:', error);
  });

বিশ্রাম

POST https://fcm.googleapis.com/v1/projects/myproject-b5ae1/messages:send HTTP/1.1

Content-Type: application/json
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA
{
  "message":{
     "topic":"industry-tech",
     "notification":{
       "title":"Sparky says hello!",
     },
     "android":{
       "notification":{
         "image":"https://foo.bar/pizza-monster.png"
       }
     },
     "apns":{
       "payload":{
         "aps":{
           "mutable-content":1
         }
       },
       "fcm_options": {
           "image":"https://foo.bar/pizza-monster.png"
       }
     },
     "webpush":{
       "headers":{
         "image":"https://foo.bar/pizza-monster.png"
       }
     }
   }
 }

বার্তা বডিতে প্ল্যাটফর্ম-নির্দিষ্ট ব্লকগুলিতে উপলব্ধ কীগুলির সম্পূর্ণ বিশদ বিবরণের জন্য HTTP v1 রেফারেন্স ডকুমেন্টেশন দেখুন।

mutable-content সেটের সাথে যেমন দেখানো হয়েছে, এই প্রেরণের অনুরোধটি গ্রহীতা ক্লায়েন্টের পরিষেবা এক্সটেনশনকে পেলোডে বিতরণ করা চিত্র পরিচালনা করতে সক্ষম করে।