يتيح لك Kotlin SDK استخدام واجهات برمجة تطبيقات Vonage في أي تطبيق قائم على JVM. ستحتاج إلى إنشاء حساب vonage.
نحن نوفر أيضًا SDKs الخادم بلغات أخرى:
نقدم أيضًا SDKs من جانب العميل لنظام Android و iOS و JavaScript. شاهد جميع SDKs وتكاملنا على بوابة مطور Vonage.
يتم نشر الإصدارات إلى Maven Central. يمكن العثور على تعليمات لنظام الإنشاء في قسم المقتطفات. إنها متوفرة أيضًا من هنا. يمكن العثور على ملاحظات الإصدار لكل إصدار في Changelog.
فيما يلي تعليمات تضمين SDK في مشروعك:
أضف ما يلي إلى ملف build.gradle
أو build.gradle.kts
:
dependencies {
implementation( " com.vonage:server-sdk-kotlin:1.1.0 " )
}
أضف ما يلي إلى قسم <dependencies>
من ملف pom.xml
الخاص بك:
< dependency >
< groupId >com.vonage</ groupId >
< artifactId >server-sdk-kotlin</ artifactId >
< version >1.1.0</ version >
</ dependency >
ملاحظة : نوصي بشدة باستخدام أداة مع إدارة التبعية ، مثل Maven أو Gradle.
بدلاً من ذلك ، يمكنك استنساخ الريبو وبناء ملف الجرة بنفسك:
git clone [email protected]:vonage/vonage-kotlin-sdk.git
mvn install -P uberjar
سيقوم ملف تعريف uberjar
بإنشاء ملف جرة مع جميع التبعيات المدرجة في الدليل target
في جذر الريبو. يمكنك بعد ذلك تضمين هذا في ClassPath لمشروعك.
يتطلب SDK تكوينًا قليلًا جدًا للبدء.
بالنسبة للتكوين الافتراضي ، تحتاج فقط إلى تحديد بيانات اعتماد حساب Vonage الخاصة بك باستخدام مفتاح API و Secret و Secret Key ومعرف التطبيق أو كليهما. للحصول على أقصى قدر من التوافق مع جميع واجهات برمجة التطبيقات ، يوصى بتحديد كل من طرق المصادقة ، مثل ذلك:
import com.vonage.client.kt.Vonage
val vonage = Vonage {
apiKey( API_KEY ); apiSecret( API_SECRET )
applicationId( APPLICATION_ID )
privateKeyPath( PRIVATE_KEY_PATH )
}
يمكنك أيضًا استخدام متغيرات البيئة للراحة ، من خلال تحديد ما يلي:
VONAGE_API_KEY
- مفتاح API حسابكVONAGE_API_SECRET
- سر API الخاص بكVONAGE_SIGNATURE_SECRET
- سر توقيع (متقدم ، اختياري) للطلبات الموقعة عند استخدام SMS APIVONAGE_APPLICATION_ID
- uuid من تطبيق vonage الذي تريد استخدامهVONAGE_PRIVATE_KEY_PATH
- المسار المطلق إلى ملف المفتاح الخاص للتطبيقثم قم بتسهيل العميل بـ:
val vonage = Vonage { authFromEnv() }
يمكنك تكوين URI الأساسي (على سبيل المثال ، لإجراء اختبارات التكامل) ومهلة HTTP مع httpConfig
أثناء مثيل ، مثل ذلك:
val vonageClient = Vonage {
authFromEnv()
httpConfig {
baseUri( " http://localhost:8976 " )
timeoutMillis( 15000 )
}
}
كما هو الحال مع SDKs الأخرى ، تعتمد الهندسة المعمارية حول فئة Vonage
، والتي تحدد بيانات اعتماد المصادقة والإعدادات المتقدمة الاختيارية لعميل HTTP. يحتوي الفصل على حقل لكل واجهة برمجة تطبيقات مدعومة ، والتي تُرجع كائنًا يحتوي على طرق متوفرة على API. عندما يختلف SDK عن SDKs الأخرى ، فإنه يستخدم نهجًا يعتمد على الموارد لعمليات CRUD ، بدلاً من قائمة مسطحة بالطرق. هذه فئات داخلية محددة لكل موارد واجهة برمجة التطبيقات وهي دائمًا ما تكون مسبوقة مع Existing
- على سبيل المثال ، ExistingCall
، ExistingSession
ExistingApplication
إلخ. كقاعدة عامة ، فإن الموارد ذات المعرفات الفريدة لها فئة Existing[Resource]
موجودة تستخدم لأداء العمليات على هذا المورد ، بدلاً من تمرير معرف هذا المورد مرارًا وتكرارًا إلى أساليب على فئة الأصل ، كما هو الحال في Java SDK. يتم إنشاء فئات الموارد هذه من استدعاء طريقة في فئة API العليا. لذلك ، على سبيل المثال ، للعمل مع ExistingSession
، ستفعل: client.video.session(SESSION_ID)
، حيث يكون client
مثيلًا لـ Vonage
و SESSION_ID
هو المعرف الفريد لجلسة الفيديو التي تريد العمل معها.
يمكنك العثور على عينات رمز قابلة للتشغيل الكاملة في مستودع قصاصات التعليمات البرمجية ، بما في ذلك قائمة قابلة للبحث من المقتطفات .
تم توثيق SDK بالكامل مع KDOCs ، لذلك يجب أن يكون لديك وثائق كاملة من IDE. قد تحتاج إلى النقر فوق "تنزيل مصادر" في Intellij للحصول على الوثائق الكاملة. بدلاً من ذلك ، يمكنك تصفح الوثائق باستخدام خدمة مثل Javadoc.io ، والتي تجعل الوثائق لك من القطع الأثرية على Maven Central.
للحصول على مساعدة في أي واجهات برمجة تطبيقات محددة ، راجع الوثائق ذات الصلة على بوابة المطورين الخاصة بنا ، باستخدام الروابط المقدمة في قسم واجهات برمجة التطبيقات المدعومة. للاكتمال ، يمكنك أيضًا استشارة مواصفات API إذا كنت تعتقد أن هناك أي تباينات.
س: لماذا استخدم هذا SDK بدلاً من Vonage Java Server SDK؟
ج: يعتمد هذا Kotlin SDK فعليًا على Java SDK لتحسين تجربة المستخدم في Kotlin. إنه يضيف السكر النحوي ، بحيث يمكنك تجنب نمط البناء المرهق لصالح بناء جملة أكثر ذكاءً يشبه DSL ، معلمات اختيارية ومسمى مع القيم الافتراضية وما إلى ذلك. في حين لا تزال إعادة الكتابة القوية التي توفرها Java SDK. علاوة على ذلك ، فأنت محمي جزئيًا من "أنواع المنصات" (The !
) بحيث يكون لديك فكرة أفضل عما هو عليه ولا ، غير قابلة للإلغاء عند إنشاء الطلبات. يمكنك قراءة المزيد حول الاختلافات في منشور مدونة V1.0.0.
س: ما هي سياستك بشأن سلامة الموضوع؟
ج: كما هو الحال مع Java Server SDK ، يجب أن يستخدم مؤشر ترابط واحد فقط العميل في وقت واحد. إذا كنت ترغب في استخدام SDK في بيئة متعددة مؤشرات الترابط ، قم بإنشاء مثيل منفصل من Vonage
لكل مؤشر ترابط ، أو استخدم مثيلًا لخيط ThreadLocal.
س: أواجه مشكلات مع مشروعي عندما تضمن SDK كاعتماد. كيف يمكنني استكشاف هذا؟
ج: يرجى الاطلاع على منشور المدونة هذا. باختصار ، قد يكون لديك إصدارات تبعية متضاربة في مشروعك والتي تصطدم مع تبعيات SDK Transitive.
س: أواجه مشكلات طلب HTTP ، مثل المهلة. كيف يمكنني علاج أو الإبلاغ عن هذا؟
ج: نظرًا لأن هذه المكتبة تستخدم Java SDK أسفلها ، والتي بدورها تستخدم عميل Apache HTTP 4 ، فقد تتمكن من استخدام خصائص النظام لتكوين العميل ، أو استخدام طريقة httpConfig
الخاصة بـ SDK على فئة Vonage
لمزيد من التحكم الدقيق. إذا كنت تعتقد أن هناك مشكلة في العميل الأساسي ، فيرجى إثارة مشكلة مع مثال قابلة للتكرار الحد الأدنى ، بما في ذلك تفاصيل بيئتك (إصدار وقت تشغيل JVM ، وإصدار SDK ، ونظام التشغيل ، إلخ) على مستودع Vonage Java SDK.
س: لست متأكدًا مما إذا كانت مشكلتي مع SDK. كيف يمكنني الحصول على المساعدة؟
ج: يرجى الاطلاع على صفحة الدعم الخاصة بنا ، بما في ذلك معلومات الاتصال.
نحن المساهمات في هذه المكتبة!
من الجيد التحدث إلينا أولاً إذا كنت تخطط لإضافة أي وظيفة جديدة. خلاف ذلك ، يتم تقدير تقارير الأخطاء وإصلاحات الأخطاء والتعليقات على المكتبة دائمًا. يمكنك أيضًا الاتصال بنا من خلال القنوات التالية: