رفتن به مطلب

آموزش افزودن پرداخت درون برنامه به صورت ساده


mehdi1376

ارسال‌های توصیه شده

سلام دوستان ،

کاربرای زیادی رو دیدم که با  محدود کردن آیتم های لیست ویوو به منظور افزودن پرداخت درون برنامه بازار به برنامشون مشکل داشتن

این آموزش به صورت ساده برای  نرم افزارهای دارای دیتابیس  شما هست و شما در ابتدا باید کتابخانه ی پرداخت درون برنامه که در فروشگاه همین انجمن فروخته میشه رو داشته باشید.

 

 در ابتدا احتمالا طریقه دریافت کلید RSA از کافه بازار و ساخت یک محصول رو طبق آموزش زیر یاد گرفتید:

http://answercenter.ir/topic/3837-%DA%A9%D8%AA%D8%A7%D8%A8%D8%AE%D8%A7%D9%86%D9%87-%D8%AF%D8%B1%D9%88%D9%86-%D9%BE%D8%B1%D8%AF%D8%A7%D8%AE%D8%AA-%D8%A8%D8%A7%D8%B2%D8%A7%D8%B1/

 

خب ابتدا یه ستون به دیتابیستون اضافه میکنید (مثلا با نام kharid ) و بزارید به صورت پیشفرض همون string (عددی) باشه

 بعد مثلا اگه کتابتون 20 تا مطلب داره و میخواید فقط 6 تا از اونا رایگان باشه مقدار اون 6 تا مطلب رو توی دیتابیس 1 قرار بدید و مقدار سایر مطالب رو 0 بزارید

(اولین تصویر پیوست)

 

دقت کنید که حتما یه ستون دارید که شماره آیتم های لیست ویووتون رو مشخص میکنه که مثلا من اسمش رو id گذاشتم ( تصویر پیوست شده دوم)

خب میریم سراغ کد نویسی

این قسمت ها توی تاپیکی که آدرسش رو دادم هست ولی منم میگم : بعد از زدن تیک کتابخانه در قسمت Globals کلید RSA رو به صورت زیر وارد میکنیم :

Sub Globals
Dim pardakht As BillingManager_b4a_org
dim key as string = "کلید RSA که از بازار گرفتید رو در این قسمت paste کنید"
End Sub

میریم سراغ Initialize کردن :

Sub Activity_Create(FirstTime As Boolean)
pardakht.Initialize("pardakht",key)
End Sub

حالا طریقه محدود کردن آیتم های لیست ویوو رو میگیم :

Sub ListView1_ItemClick (Position As Int, Value As Object)

Dim cur As Cursor
cur=SQL1.ExecQuery("SELECT * FROM table1")

cur.Position=Value-1
	 If cur.GetInt("kharid")=1 Then
	    StartActivity(matlab)
	 Else
	 
	 Dim p As  Int
	 p = Msgbox2("تنها با پرداخت 1500 تومان از سایر مطالب جذاب کتاب لذت ببرید","پرداخت درون برنامه","پرداخت ","انصرف","",LoadBitmap(File.DirAssets ,"pay.png"))
	 If p=DialogResponse.POSITIVE Then
	 pardakht.RequestPayment("inapppay","inapp","pardakht1")
	 End If
	 End If
End Sub

خب در خصوص کد بالا بگم که با کلیک بر روی هر مطلبی که باز باشه به صفحه matlab  میرن و اگه مطلب نیاز به خرید داشته باشه هم یه  MessageBoxبراشون نمایش داده میشه و میگه برای مشاهده سایر مطالب باید مبلغی رو پرداخت کنید و اگه روی گزینه پرداخت کلیک کنن صفحه پرداخت براشون باز بشه

و اینکه اسم table من هم توی دیتابیس table1 وهمچنین اسم محصول من توی بازار inapppay  هستش که شاید برای شما فرق داشته باشه (تصویر پیوست شده سوم )

 

 در قسمت آخر میگیم که اگه پرداخت کرد سایر مطالب هم براش نمایش داده بشه

Sub pardakht_PurchaseCompleted (Success As Boolean, Product As Purchase)
Dim cur As Cursor

cur=SQL1.ExecQuery("SELECT * FROM table1")

If Success=True Then
	
	For j=0 To cur.RowCount 
		SQL1.ExecNonQuery("update table1 set kharid=1 where id="&j)
		Next
		ToastMessageShow("پرداخت با موفقیت انجام شد",False)
		Else
		ToastMessageShow("پرداخت انجام نشد",False)
End If

End Sub

این کد میگه که اگه پرداخت به درستی انجام شد مطالبی که نیاز به خرید داشتن باز بشن

و اگه به درستی انجام شد هم یه ToastMessageShow نمایش بده و بگه پرداخت انجام نشده

 

--------------------------------------------------------

پی نوشت : سعی کردم به ساده ترین صورت توضیح بدم ! امیدوارم مفید واقع بشه

همچنین اطلاعات داده شده مربوط به برنامه اولین ها هست که توی امضام دربارش توضیح دادم

post-111-0-09404200-1438002988_thumb.png

post-111-0-95125400-1438002997_thumb.png

post-111-0-62112800-1438004516_thumb.png

لینک ارسال
به اشتراک گذاری در سایت های دیگر

راهنمایی لطفا.میخام سه موضوع اول لیست ویو قابل استفاده و بقیه محدود به پرداخت درون برنامه باشه.

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("fehrest")
	pardakht.Initialize("pardakht","key")
	
    lv.SingleLineLayout.Label.Gravity = Gravity.CENTER
	lv.SingleLineLayout.Label.TextSize = 15dip
	lv.SingleLineLayout.ItemHeight = 60dip
	lv.SingleLineLayout.Label.TextColor=Colors.black
	Dim lbl  As Label
    lbl= lv.SingleLineLayout.Label
	lbl.Typeface=Typeface.LoadFromAssets("font66.TTF")
	
	Dim backlist As BitmapDrawable
	backlist.Initialize(LoadBitmap(File.DirAssets,"dsfd.jpg"))
	
	
	
	If FirstTime  =True Then 
		parser.Initialize 
	End If 
	Dim read As InputStream 
	read = File.OpenInput (File.DirAssets,"list.xml")
	parser.Parse (read,"Parser")
	read.Close 
End Sub
Sub Parser_EndElement (uri As String , name As String , text As StringBuilder)
	If parser.Parents.IndexOf("list")>-1 Then 
		If name ="Fasl" Then 
			fasl= text.ToString 
		Else If name="Name_fasl" Then
			name_fasl=text.ToString 
		Else If name="File_name" Then
			url=text.ToString 
		End If 
	End If
	If name = "list" Then
		lv.AddSingleLine2("     "& fasl, url)
	
	End If 
	
	
End Sub 

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub


Sub lv_ItemClick (Position As Int, Value As Object)
   pardakht.RequestPayment("lollipoptaste","inapp","pardakht1")
   If (Position>3) AND (File.Exists(File.DirInternal,"fullversion.txt")=False) Then
	 Msgbox("نسخه دمو","پیام")
    filename=Value 
    StartActivity("motalee") 
      Else
     ToastMessageShow("نسخه طلایی",False)
	 
	 End If
	
End Sub

Sub pardakht_PurchaseCompleted (Success As Boolean, Product As Purchase)
	
	If Success = True Then

	File.WriteString(File.DirInternal,"fullversion.txt","true")
	ToastMessageShow("shod","false")
	Else
	ToastMessageShow("naaashod","false")
	End If 
	
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

می تونید به این صورت عمل کنید :

کد زیر رو در ساب آیتم کلیک بگذارید .

If Position >=3 Then
Msgbox("باید بخرید","")
StartActivty("pardakht")
End If
لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 3 سال بعد...

سلام اگه چند تا محصول داشته باشیم که با خرید هرکدوم عملیات خاصی بخواد انجام بشه تو ساب  pardakht_PurchaseCompleted چطوری باید کد رو بنویسیم لطفا راهنمایی کنید خیلی لازم دارم 
 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بعد از

If Success=True Then

تا else هر کدی که میخوای وقتی پرداخت انجام شد اجر بشه رو بنویس

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...