মূল লেখায় যান
Launch নথিতে ফিরে যান

Markdown ডাউনলোড করুনGitHub-এ মূল নথি

Launch ও Licentivo দিয়ে অ্যাপ ইন্টিগ্রেশন

এই নির্দেশিকা Licentivo প্রদানকারীর জন্য। Licentivo ছাড়া বিক্রেতার নিজস্ব লাইসেন্স সিস্টেম যুক্ত করতে কাস্টম লাইসেন্সিং API ও ইন্টিগ্রেশন প্রক্রিয়া ব্যবহার করুন, পণ্য/পরিবেশে custom_http নির্বাচন করুন এবং ওই সিস্টেমের রানটাইম SDK বজায় রাখুন।

এই স্থানীয় অপ্রকাশিত পরিবর্তন অ্যাকাউন্ট পরিচয় বিনিময় ব্যবহার করে। মাইগ্রেশন ও সার্ভার সেশন প্রত্যাহারের জন্য দায়িত্ব ও ক্রয়-সিঙ্ক চুক্তি দেখুন। এই পরিবর্তনে প্যাকেজ সংস্করণ নম্বর প্রকাশ বা আপগ্রেড হয়নি।

Launch বিক্রেতা অ্যাকাউন্ট, অর্ডার, মূল্য, নবায়ন/আপগ্রেড কোট, রিফান্ড ও নির্দিষ্ট কেনা তারিখের দায়িত্বে। Licentivo লাইসেন্স, নীতি, ডিভাইস ভাতা, অনুমোদন সেশন, স্বাক্ষরিত অনুমতি ও রানটাইম সিদ্ধান্তের দায়িত্বে। সফল Launch লগইন বা সিঙ্ক করা ক্রয় সুরক্ষিত কাজ চালানোর অনুমতি নয়।

সরাসরি সংযোগ কল ও পিন করা প্রকাশ্য পণ্য কী পেতে প্রশাসনিক ইন্টিগ্রেশন পৃষ্ঠা ব্যবহার করুন। নয়টি ভাষার র‍্যাপারে অফিসিয়াল SDK আছে। বিক্রেতার ব্যবস্থাপনা ও পেমেন্ট কী সার্ভারে থাকে। প্রকাশ্য পণ্য সেটিংয়ে গ্রাহক ক্রেডেনশিয়াল, ডিভাইস ID, ক্যাশ পাথ বা পরিচয় assertion নেই।

অ্যাকাউন্ট বিনিময়

sequenceDiagram
    participant App as Application
    participant Launch as Launch server
    participant SDK as Official Licentivo SDK
    participant Lic as Licentivo server
    App->>Launch: Account login
    Launch-->>App: Account session
    App->>Launch: POST /software/products/{id}/identity
    Launch-->>App: Short-lived signed identity assertion
    App->>SDK: In-memory identity + connection + environment
    SDK->>Lic: POST /launch/exchange
    Lic-->>SDK: Restricted device credential + signed permission + logout ticket
    App->>SDK: RunFeature around every protected action

র‍্যাপার POST /api/v1/software/products/{id}/identity-তে {"environment":"sandbox"} বা live দিয়ে অনুরোধ করে। ফেরত পরিচয় assertion সর্বাধিক 120 সেকেন্ড স্থায়ী এবং নিবন্ধিত ইস্যুকারী, audience, বাস্তব লগইন সেশন, পণ্য, পরিবেশ ও ক্রয় রেফারেন্সে বাঁধা। এতে ফিচার গ্রান্ট, ডিভাইস ভাতা বা অফলাইন নীতি নেই।

অফিসিয়াল SDK মেমোরিতে এই মানগুলো পায়:

{
  "product_id": "LICENTIVO_PRODUCT_UUID",
  "trusted_keys": {"SIGNING_KEY_ID": "PINNED_PUBLIC_KEY"},
  "launch_connection_id": "LICENTIVO_LAUNCH_CONNECTION_UUID",
  "environment": "sandbox",
  "identity_token": "SHORT_LIVED_ASSERTION_FROM_LAUNCH",
  "license_key": ""
}

এই রানটাইম কনফিগারেশন প্রকাশ্য ফাইলে লিখবেন না বা assertion অ্যাকাউন্ট রেকর্ডে স্থায়ী রাখবেন না। Launch v2 মনে রাখা রেকর্ড শুধু অ্যাকাউন্ট সেশন ও প্রকাশ্য রাউটিং প্রসঙ্গ রাখে। পুরোনো গ্রাহক /credential এন্ডপয়েন্ট HTTP 410 ফেরত দেয়।

জীবনচক্র ও স্টোরেজ

  • Login: অ্যাকাউন্ট প্রমাণীকরণ করুন, নতুন assertion অনুরোধ করুন, অফিসিয়াল SDK শুরু করুন।
  • Restore: মনে রাখা অ্যাকাউন্ট অনলাইনে নিশ্চিত করুন, নতুন assertion অনুরোধ করুন, অফিসিয়াল SDK শুরু করুন। Launch বিভ্রাট অফলাইন অনুমতি নির্বাচন করে না।
  • RunFeature: প্রতিটি সুরক্ষিত নির্বাহ অফিসিয়াল SDK-কে দিন। প্রত্যাখ্যাত কলব্যাক কখনো চলবে না।
  • Close / Dispose / Drop: ব্যাকগ্রাউন্ড কাজ থামিয়ে ইচ্ছাকৃত মনে রাখা লগইন ও নোড বাইন্ডিং বজায় রাখুন।
  • Logout: অফিসিয়াল SDK ইউনিফায়েড লগআউট চালান, তারপর Launch অ্যাকাউন্ট রেকর্ড পরিষ্কার ও সেশন শেষ করুন।
  • ReleaseDevice: স্পষ্ট লগআউটের সামঞ্জস্য উপনাম। অপেক্ষমাণ দূরবর্তী প্রত্যাহার সত্যভাবে জানান।

শুধু অফিসিয়াল SDK তার ডিভাইস ক্রেডেনশিয়াল ও লিজ ফাইল সরায়। তার ক্যাশ ডিরেক্টরি বা .logout.json কখনো মুছবেন না: এই জার্নালে ব্যর্থ নেটওয়ার্ক অনুরোধের পরে প্রয়োজনীয় সীমিত রিলিজ টিকিট থাকে। সংশ্লিষ্ট ক্যাশ আবার ইনিশিয়ালাইজ হলে SDK অপেক্ষমাণ টিকিট পুনরায় চালায়। Launch-এর নিজস্ব অ্যাকাউন্ট স্টোরেজ ও SDK স্টোরেজের মালিক পৃথক।

অফলাইন শুরু প্রয়োজন এমন অ্যাপ অফিসিয়াল SDK-এর নথিভুক্ত পুনরুদ্ধার প্রক্রিয়া ব্যবহার করে। শুধু SDK স্বাক্ষরিত অনুমতি, পণ্য/পরিবেশ প্রসঙ্গ, মেয়াদ, ঘড়ির আচরণ ও ডিভাইস অবস্থা যাচাই করে। Launch র‍্যাপার কেনা তারিখ, স্থানীয় অর্ডার বা ফাইলের উপস্থিতি থেকে অনুমতি অনুমান করে না।

শুধু-মেমোরি অ্যাকাউন্ট সেশন ডিফল্ট। স্থায়ী অ্যাকাউন্ট স্টোরকে রেকর্ড এনক্রিপ্ট/প্রমাণীকরণ এবং OS ক্রেডেনশিয়াল সুবিধা দিয়ে কী সুরক্ষিত করতে হবে। প্রতি বিক্রেতা, অ্যাকাউন্ট, পণ্য ও পরিবেশে পৃথক লেখাযোগ্য ক্যাশ ব্যবহার করুন। ব্রাউজার রেন্ডারার ডেস্কটপ অ্যাকাউন্ট টোকেন, assertion বা ডিভাইস ক্রেডেনশিয়ালের বদলে ব্যবসায়িক ফল পাবে।

ক্রয় ও ডিভাইস

Launch যাচাইকৃত পেমেন্ট ও অপরিবর্তনীয় অর্ডার কভারেজ থেকে নির্দিষ্ট ক্রয়ের তারিখ গণনা করে, তারপর সংস্করণযুক্ত স্ন্যাপশট /api/v1/launch/connections/{id}/events-এ পাঠায়। applied পর্যন্ত ইভেন্ট জিজ্ঞাসা করে; শুধু রসিদ পূরণ নয়। নবায়ন ও রিফান্ড পুনঃপ্রচেষ্টা মেয়াদ দ্বিতীয়বার যোগ করতে পারে না। রিফান্ড শুধু সংশ্লিষ্ট অর্ডারের কভারেজ সরায়; সম্পূর্ণ রিফান্ড করা ক্রয় পুনঃক্রয়ে নতুন রেফারেন্স পায়।

ডিভাইসে প্রবেশ নেই এমন ব্যবহারকারী Launch-এর ডিভাইস ব্যবস্থাপনা পৃষ্ঠা খুলতে পারেন। তালিকা, অবশিষ্ট রিলিজ, অনুমত কাজ ও ফল Licentivo থেকে আসে। রিলিজে প্রদর্শিত বাইন্ডিং জেনারেশন ও অপরিবর্তিত কাজ ID থাকে। Launch প্রতিযোগী রিলিজ কাউন্টার বা কাজ নির্বাহক রাখে না।

যাচাই ও সীমাবদ্ধতা

অ্যাকাউন্ট বিনিময়, স্বল্পস্থায়ী assertion স্টোরেজ, SDK-নিয়ন্ত্রিত ফিচার নির্বাহ, সাধারণ বন্ধ, নতুন প্রক্রিয়ায় স্পষ্ট লগআউট, অপেক্ষমাণ রিলিজ জার্নাল ও পণ্য/পরিবেশ বিচ্ছিন্নতা পরীক্ষা করুন। অফিসিয়াল SDK-এর বাস্তব স্বাক্ষরিত লিজ, অফলাইন পরীক্ষা ও বিকৃতি প্রত্যাখ্যান Launch অ্যাকাউন্ট পরিবহন থেকে আলাদাভাবে পরীক্ষা করুন। কম্পাইল ও ফিক্সচার উৎপাদন গ্রহণযোগ্যতা প্রমাণ করে না।

Launch ডেস্কটপ লগআউট, জোরপূর্বক সেশন লগআউট, পাসওয়ার্ড বদল ও অ্যাকাউন্ট নিষ্ক্রিয়তায় Licentivo V39-এর session-revocations POST ও রসিদ GET এন্ডপয়েন্টও ব্যবহার করে। এটি মূল প্রাপক ও অনুরোধ স্থায়ীভাবে স্থির করে, হারানো প্রতিক্রিয়া পুনরুদ্ধার করে ও প্রতিটি পরিবেশ স্বাধীনভাবে নিশ্চিত করে। অপেক্ষমাণ অ্যাকাউন্ট-ব্যাপী বিজ্ঞপ্তি নতুন ডেস্কটপ প্রমাণীকরণ থামায়; নিশ্চিত হওয়ার পর বাস্তব নতুন লগইনের auth_time সর্বশেষ revoked_before সেকেন্ডের কঠোরভাবে পরে হবে। ওয়েবসাইট পুনরুদ্ধার উপলব্ধ থাকে। বিজ্ঞপ্তিগুলো ক্রয়ের তারিখ বদলায় না। সীমা ও পুনরুদ্ধার চুক্তি দেখুন।

ম্যানুয়াল ইন্টিগ্রেশন, AI ইন্টিগ্রেশন, ইন্টিগ্রেশন প্যাকেজ ও গ্রহণযোগ্যতা দেখুন।