কোনও আইওএস পুশ বিজ্ঞপ্তির সতর্কতা পাঠের সর্বাধিক দৈর্ঘ্য কত?
ডকুমেন্টেশন বলে যে প্রজ্ঞাপন পে লোড হয়েছে মোট 256 বাইট অধীন থাকতে , কিন্তু নিশ্চয় সেখানে সতর্কতা পাঠ্যের জন্য একটি নির্দিষ্ট অক্ষর সীমা হতে হবে।
কোনও আইওএস পুশ বিজ্ঞপ্তির সতর্কতা পাঠের সর্বাধিক দৈর্ঘ্য কত?
ডকুমেন্টেশন বলে যে প্রজ্ঞাপন পে লোড হয়েছে মোট 256 বাইট অধীন থাকতে , কিন্তু নিশ্চয় সেখানে সতর্কতা পাঠ্যের জন্য একটি নির্দিষ্ট অক্ষর সীমা হতে হবে।
উত্তর:
সতর্কতা পাঠ্যের জন্য আসল সীমা কোথাও নথিভুক্ত করা হয় না। ডকুমেন্টেশনের একমাত্র জিনিসটি হ'ল:
আইওএস 8 এবং তার পরে, একটি বিজ্ঞপ্তি পেইড লোডের জন্য অনুমোদিত সর্বোচ্চ আকার 2 কিলোবাইট; অ্যাপল পুশ বিজ্ঞপ্তি পরিষেবা এই সীমা অতিক্রম করে এমন কোনও বিজ্ঞপ্তি প্রত্যাখ্যান করে। (আইওএস 8 এর আগে এবং ওএস এক্সে, সর্বাধিক পে-লোডের আকার 256 বাইট।
এটিই আমি কিছু পরীক্ষা-নিরীক্ষা করে দেখতে পেলাম।
ঠিক যেমন এখানে একটি অনুস্মারক অফিসিয়াল ডকুমেন্টেশন থেকে খুব ভাল নোট:
প্রয়োজনে আইওএস আপনার বার্তাটি কেটে দেয় যাতে এটি প্রতিটি বিজ্ঞপ্তি সরবরাহের স্টাইলে ভাল ফিট করে; সেরা ফলাফলের জন্য, আপনার বার্তাটি ছিন্ন করা উচিত নয়।
এটি 236 বাইট হওয়া উচিত। আমি যতদূর জানি সতর্কতা পাঠ্যের আকারের উপর কোনও বিধিনিষেধ নেই, তবে কেবলমাত্র মোট পেওলড আকার। সুতরাং বিবেচনা করে যদি পেডোলটি ন্যূনতম হয় এবং কেবলমাত্র সতর্কতার তথ্য থাকে, তবে এটি দেখতে এমন হওয়া উচিত:
{"aps":{"alert":""}}
সতর্কতার স্ট্রিংয়ের ভিতরে রাখতে 236 বাইট রেখে 20 টি অক্ষর (20 বাইট) লাগে। ASCII এর সাথে এটি 236 টি অক্ষর এবং UTF8 এবং UTF16 এর সাথে কম হতে পারে।
বর্ধিত ফর্ম্যাট বিজ্ঞপ্তির সীমাটি এখানে নথিভুক্ত করা হয়েছে ।
এটি স্পষ্টভাবে বলে:
পে-লোড অবশ্যই 256 বাইটের বেশি না হওয়া উচিত এবং নাল-টার্মিনেট হওয়া উচিত নয়।
উপরে ascandroli দাবি করে যে তারা 1400 টি অক্ষরের সাথে বার্তা পাঠাতে সক্ষম হয়েছিল। নতুন বিজ্ঞপ্তি ফর্ম্যাটটির সাথে আমার নিজের পরীক্ষায় দেখা গেছে যে 256 বাইট সীমাতে মাত্র 1 বাইট বার্তা প্রত্যাখ্যান করা হয়েছিল। এই দস্তাবেজটিতে ডক্সগুলি খুব স্পষ্টভাবে দেওয়া হয়েছে বলে আমি পরামর্শ দিচ্ছি যে আপনি পরীক্ষামূলকভাবে যা অর্জন করতে পারবেন তা বিবেচনা না করেই 256 ব্যবহার করা নিরাপদ কারণ অ্যাপল ভবিষ্যতে এটিকে 256 এ পরিবর্তন করবে না এর কোনও গ্যারান্টি নেই।
সতর্কতার পাঠ্য হিসাবে, যদি আপনি এটি 256 মোট পেওলড আকারে ফিট করতে পারেন তবে এটি আইওএস দ্বারা প্রদর্শিত হবে। স্ট্যাটাস বারে প্রদর্শিত বার্তাটি তারা ছিন্ন করে তবে আপনি বিজ্ঞপ্তি কেন্দ্রটি খুললে পুরো বার্তাটি সেখানে। এমনকি এটি নিউলাইন চরিত্রগুলিও সরবরাহ করে \n
।
সম্পাদনা করুন:
সর্বশেষ তথ্য সহ উত্তর আপডেট করা হচ্ছে
কোনও বিজ্ঞপ্তি পেইড লোডের জন্য অনুমোদিত সর্বোচ্চ আকার নির্ভর করে আপনি কোন সরবরাহকারী এপিআই নিযুক্ত করেন।
লিগ্যাসি বাইনারি ইন্টারফেস ব্যবহার করার সময়, সর্বাধিক পেডলোডের আকার 2KB (2048 বাইট)।
HTTP / 2 সরবরাহকারী এপিআই ব্যবহার করার সময়, সর্বাধিক পেডলোডের আকার 4KB (4096 বাইট) হয়। ভয়েস ওভার ইন্টারনেট প্রোটোকল (ভিওআইপি) বিজ্ঞপ্তিগুলির জন্য, সর্বোচ্চ আকার 5KB (5120 বাইট)
পুরানো উত্তর: অ্যাপল ডকের মতে আইওএস 8 এর পেওলোড 2 কিলোবাইট (2048 বাইট) এবং আইওএস 7 এবং এর আগের 256 বাইট রয়েছে। (লিঙ্কটি সরানো হয়েছে কারণ এটি একটি পুরানো ডক ছিল এবং এখন এটি ভেঙে গেছে)
সুতরাং আপনি যদি কেবল পাঠ্য প্রেরণ করেন তবে আপনার কাছে 2028 (আইওএস 8+) বা 236 (আইওএস 7-) অক্ষর উপলব্ধ রয়েছে।
নোটিফিকেশন পেললোড
প্রতিটি রিমোট বিজ্ঞপ্তিতে একটি পে-লোড অন্তর্ভুক্ত থাকে। পে-লোডে সিস্টেমটি ব্যবহারকারীকে কীভাবে সতর্ক করা উচিত সেই সাথে আপনার প্রদত্ত যে কোনও কাস্টম ডেটা সম্পর্কিত তথ্য রয়েছে। আইওএস 8 এবং তার পরে, একটি বিজ্ঞপ্তি পেইড লোডের জন্য অনুমোদিত সর্বোচ্চ আকার 2 কিলোবাইট; অ্যাপল পুশ বিজ্ঞপ্তি পরিষেবা এই সীমা অতিক্রম করে এমন কোনও বিজ্ঞপ্তি প্রত্যাখ্যান করে। (আইওএস 8 এর আগে এবং ওএস এক্সে, সর্বাধিক পে-লোডের আকার 256 বাইট।
তবে আমি পরীক্ষা করেছি এবং আপনি আইওএস 7 ডিভাইসে 2 কিলোবাইট প্রেরণ করতে পারেন এমনকি উত্পাদন কনফিগারেশনেও
নিয়মিত রিমোট নোটিফিকেশনের জন্য, সর্বাধিক আকার 4KB (4096 বাইট) https://developer.apple.com/library/content/docamentation/NetworkingInternet/Concepual/RemoteNotificationsPG/CreatingtheNotificationsPayload.html
### আইওএসের আকারের সীমা 256 বাইট, তবে আইওএস 8 এর প্রবর্তন থেকে 2 কেবিতে পরিবর্তন হয়েছে!
https://forums.aws.amazon.com/ann.jspa?annID=2626
আইওএস 8 এর সাহায্যে অ্যাপল এমন নতুন বৈশিষ্ট্য প্রবর্তন করেছে যা মোবাইল ধাক্কা বিজ্ঞপ্তিগুলির জন্য কিছু ধনী নতুন ব্যবহারের ক্ষেত্রে সক্ষম করে - ইন্টারেক্টিভ পুশ বিজ্ঞপ্তিগুলি, তৃতীয় পক্ষের উইজেট এবং বৃহত্তর (2 কেবি) পেডলোড। আজ, আমরা আইওএস 8 এর সাথে ঘোষিত নতুন মোবাইল পুশ সক্ষমতার পক্ষে সমর্থন জানাতে পেরে সন্তুষ্ট We
ডাব্লুডাব্লুডিসি 713_ এইচডি_ওয়াহট_নিউ_ইন_ওস_নোটফিকেশন অনুসারে। পুশ পেইড লোডের জন্য পূর্বের আকারের সীমা 256 বাইট এখন আইওএস 8 এর জন্য 2 কিলোবাইটে বাড়ানো হয়েছে ।
সূত্র: http://asciiwwdc.com/2014/sessions/713?q=notifications#1414.0
অ্যাপল পুশ বিভিন্ন কারণে একটি স্ট্রিং প্রত্যাখ্যান করবে। আমি পুশ ডেলিভারির জন্য বিভিন্ন ধরণের পরিস্থিতি পরীক্ষা করেছি এবং এটি ছিল আমার ওয়ার্কিং ফিক্স (পাইথনে):
# Apple rejects push payloads > 256 bytes (truncate msg to < 120 bytes to be safe)
if len(push_str) > 120:
push_str = push_str[0:120-3] + '...'
# Apple push rejects all quotes, remove them
import re
push_str = re.sub("[\"']", '', push_str)
# Apple push needs to newlines escaped
import MySQLdb
push_str = MySQLdb.escape_string(push_str)
# send it
import APNSWrapper
wrapper = APNSWrapper.APNSNotificationWrapper(certificate=...)
message = APNSWrapper.APNSNotification()
message.token(...)
message.badge(1)
message.alert(push_str)
message.sound("default")
wrapper.append(message)
wrapper.notify()
আপডেট হওয়া অ্যাপল ডকুমেন্ট অনুসারে (আমার উত্তর তারিখটি পরীক্ষা করুন):
"... এইচটিটিপি / ২ সরবরাহকারী এপিআই ব্যবহার করার সময়, সর্বাধিক পেললোডের আকার 4096 বাইট হয় the
অ্যাপল আপডেট ডক:
প্রতিটি রিমোট বিজ্ঞপ্তিতে একটি পে-লোড অন্তর্ভুক্ত থাকে। পে-লোডে সিস্টেমটি ব্যবহারকারীকে কীভাবে সতর্ক করা উচিত সেই সাথে আপনার প্রদত্ত যে কোনও কাস্টম ডেটা সম্পর্কিত তথ্য রয়েছে। কোনও বিজ্ঞপ্তি পেইড লোডের জন্য অনুমোদিত সর্বোচ্চ আকার নির্ভর করে আপনি কোন সরবরাহকারী এপিআই নিযুক্ত করেন। HTTP / 2 সরবরাহকারী এপিআই ব্যবহার করার সময়, সর্বাধিক পেডলোডের আকার 4096 বাইট । লিগ্যাসি বাইনারি ইন্টারফেস ব্যবহার করে , সর্বাধিক পেডলোডের আকার 2048 বাইট। অ্যাপল পুশ নোটিফিকেশন পরিষেবা (এপিএন) এমন কোনও বিজ্ঞপ্তি অস্বীকার করে যা সর্বাধিক আকারের বেশি ex
আমার পরীক্ষা এখানে দেখুন
আমি 33 টি পর্যন্ত চীনা অক্ষর এবং কাস্টম মানগুলির 13 বাইট প্রেরণ করতে পারি।