اطلاعیه

کاربر گرامی

به انجمن برنامه نویسی AnswerCenter.ir خوش آمدید

 برای استفاده از تمامی امکانات سایت لطفا در انجمن عضو شوید


mehdi1376

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

5 ارسال در این موضوع قرار دارد

سلام دوستان ،

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

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

 

 در ابتدا احتمالا طریقه دریافت کلید 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

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


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

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

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


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

بعد از

If Success=True Then

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

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


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

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

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

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری